大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
今天被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
参考文章:
http://www.cnblogs.com/end/archive/2012/06/01/2531147.html
http://blog.sina.com.cn/s/blog_66f64e510101bqib.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190759.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...