900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > linux ubuntu vim复制粘贴 关于vim的复制粘贴

linux ubuntu vim复制粘贴 关于vim的复制粘贴

时间:2019-09-02 00:34:21

相关推荐

linux ubuntu vim复制粘贴 关于vim的复制粘贴

今天被vim的复制粘贴弄得很烦,它不像windows那样,每次复制会把以前的内容覆盖。所以有时粘贴出来的东西并不是你想要的。

在不同终端中,用vim打开的两个文件之间的复制粘贴

1. 用同一个终端,直接使用这个命令:

vim file1 file2

这样就可以直接用y和p复制粘贴了。

但是这样比较麻烦,需要在两个文件之间切换。

2. 之所以不能直接用y和p复制粘贴。是因为每个终端中的vim复制的内容存储在不同的地方。在这里我们将存储vim复制到的内容的地方叫做寄存器。

可以使用一下命令查看vim的寄存器的内容:

在vim的normal模式下:

:reg

这样就可以看到寄存器的名字及其存放的内容了。如下图所示:

其中,寄存器的名字都是以“开头的。如果想将 “/ 这个寄存器的内容粘贴到文件中,可以在normal模式下使用如下命令:

”/p

默认按下p粘贴的是 ”“ 这个寄存器的内容。

在这些寄存器中, ”+ 这个寄存器是全局的。也就是说,两文件中,其他寄存器的内容都可以不一样,但是 “+ 这个寄存器的内容是一样的。所以,你可以使用以下命令将内容复制到 ”+ 这个寄存器中:

“+y

然后在另外一个文件中,使用如下命令粘贴;

”+p

这样就可以了实现两个文件之间的复制粘贴了。另外,使用鼠标右键paste粘贴的内容也是 ”+ 这个寄存器的,可以说它就是系统粘贴板。

如果寄存器列表中没有 “+ 这个寄存器,可能是没有安装vim的图形界面所致。

Debian/Ubuntu下可以通过安装vim-gnome解决,命令如下:

$ sudo apt-get install vim-gnome

3. 通过配置 ~/.vimrc 文件实现两个文件之间的复制粘贴。

把下面这段代码贴到你的.vimrc里面去,然后选择一段文本,用xw来copy,在另 外的终端上用xr来贴。原理非常简单,就是利用一个文件来作中转。

" transfer/read and write one block of text between vim sessions

" Usage:

" `from' session:

" ma

" move to end-of-block

" xw

"

" `to' session:

" move to where I want block inserted

" xr

"

if has("unix")

nmap xr :r $HOME/.vimxfer

nmap xw :'a,.w! $HOME/.vimxfer

vmap xr c:r $HOME/.vimxfer

vmap xw :w! $HOME/.vimxfer

else

nmap xr :r c:/.vimxfer

nmap xw :'a,.w! c:/.vimxfer

vmap xr c:r c:/.vimxfer

vmap xw :w! c:/.vimxfer

endif

参考文章:

/end/archive//06/01/2531147.html

/s/blog_66f64e510101bqib.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。