其他分享
首页 > 其他分享> > Vim使用系统剪切版

Vim使用系统剪切版

作者:互联网

vim寄存器

vim 中的复制、删除的内容都会被存放到默认(未命名)寄存器中,之后可以通过粘贴操作读取默认寄存器中的内容。寄存器是完成这一过程的中转站,vim 支持的寄存器非常多,其中常用的有 a-zA-Z0-9+"

寄存器用引号来表示,在vim中,输入:reg 查看vim的寄存器,其中:

"*和"+的区别

在启用了 +clipboard 的情况下, "* 寄存器表示的是被选择的内容. 这个内容可以是你用鼠标选择的, 也可以是你用 visual模式下选择的.
但是, "+ 寄存器只能将你在 visual模式下 选择的内容复制到系统剪贴板上

vim使用系统剪切板

首先查看vim是否支持剪切板: vim --version | grep clipboard

结果:

-clipboard         +jumplist          +persistent_undo   +vartabs
+eval              +mouse_gpm         +syntax            -xterm_clipboard

clipboard前面有一个小的减号,说明不支持。

让vim支持系统剪切板

安装vim-X11,可以让vim支持系统剪切板,安装vim-X11后,会安装一个vim的图形程序,即gvim, 但是这个一般都不习惯使用。(gvim也同样可以使用vim的各种插件,包括 NERDTree等)

查看 vim-X11 包含那些命令:

$ rpm -ql vim-X11
/usr/bin/evim
/usr/bin/gex
/usr/bin/gview
/usr/bin/gvim
/usr/bin/gvimdiff
/usr/bin/gvimtutor
/usr/bin/vimtutor
/usr/bin/vimx
/usr/share/applications/gvim.desktop
/usr/share/icons/hicolor/16x16/apps/gvim.png
/usr/share/icons/hicolor/32x32/apps/gvim.png
/usr/share/icons/hicolor/48x48/apps/gvim.png
/usr/share/icons/hicolor/64x64/apps/gvim.png
/usr/share/icons/locolor/16x16/apps/gvim.png
/usr/share/icons/locolor/32x32/apps/gvim.png
/usr/share/man/man1/evim.1.gz
/usr/share/metainfo/gvim.appdata.xml

vim-X11添加一些附加的命令, 比如 evim, gvim等, 最重要的是这个 vimx命令, 他就是 在vim的基础上增加x系统的支持. 即vimx 是命令行下的vim支持系统剪贴板的版本.

查看 vimx 是否支持 clipboard

$ vimx --version | grep clipboard
+clipboard         +jumplist          +persistent_undo   +vartabs
+eval              +mouse_gpm         +syntax            +xterm_clipboard

可以看到,vimx是支持 clipboard的。

为了能够在使用vim时运行的是vimx,可以给vim设置一个别名,让执行vim时实际执行的是vimx

在.bashrc中, 加上一个 alias: alias vim=/usr/bin/vimx

虽然安装了 vim-X11, 但是 /usr/bin/vim 和 /usr/bin/vimx 实际上还是 两个互补相关的 应用, 在原来的vim中, 仍然并不支持 剪贴板, 查看vim --version | grep clipboard, 仍然还是没有启用剪贴板的特性。

只有 使用 vimx 才能启用 +clipboard, 和 +xterm_clipboard 特性。

vim绑定复制粘贴快捷键

不使用快捷键的时候,复制和粘贴需要使用命令

复制 粘贴
"+y "+p 或者 "+gp

为了方便使用,可以把复制粘贴命令绑定到快捷键上

在vim中有以下几种按键绑定的模式:

在设置快捷键的时候,需要注意映射模式:

在 ~/.vimrc中绑定快捷键

可以把复制绑定成 ctrl c,粘贴绑定成 ctrl v,但是ctrl v和可视化模式的 ctrl v冲突了,所以可以选择使用其它的快捷键,这里使用前置键来配置

"绑定复制/粘贴快捷键
let mapleader=";"
vmap <leader>c "+y

nmap <leader>v "+p
imap <leader>v <esc>"+p

标签:gvim,系统,vim,clipboard,usr,寄存器,vimx,剪切,Vim
来源: https://www.cnblogs.com/heyb7/p/15905770.html