vi中系统剪切板的设置

Posted motoyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vi中系统剪切板的设置相关的知识,希望对你有一定的参考价值。


在vi中,如果编译时没有clipboard属性,将vi中的内容拷贝到系统剪切板有些麻烦。
可以用如下的方法,查看vi 是否支持系统剪切板的功能:

[email protected]:~$ vi --version | grep clipboard
-clipboard       +iconv           +path_extra      -toolbar
+eval            +mouse_dec       +startuptime     -xterm_clipboard

 
如果如上所示,不支持系统剪切板功能,可以如下在.vimrc中的设置,解决问题:

" 拷贝粘切到系统的剪贴板
if has("win32")||has("win95")||has("win64")||has("win16")
    set clipboard=unnamed

elseif has(unix)
    vmap <C-c> y:call system("xsel -ib", getreg("))<CR>
    nmap <C-v> :call setreg("\"",system("xsel -o"))<CR>p

elseif has(mac)
    vmap <leader>y        y:call system("pbcopy", getreg("\""))<CR>
    nmap <leader>p        :call setreg("\"",system("pbpaste"))<CR>p

endif


对于Linux ,需要安装xsel ,命令如下:

sudo apt-get install xsel

xsel是很小的软件,大概只有9k左右的空间占用,也没有很特别的依赖库,很是方便。

以上是关于vi中系统剪切板的设置的主要内容,如果未能解决你的问题,请参考以下文章

vim在系统剪切板的复制与粘贴

vim在系统剪切板的复制与粘贴

js将字符串写入系统剪切板的方法

获取剪切板的值

如何在vi中剪切和粘贴自动缩进设置为开的标签行[重复]

在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式,请确保您的Main函数带有STAThreadAttribute标记。 多线程操作剪切板的时候。