熟练进行vim复制粘贴

来源:互联网 发布:cf自动开枪源码 编辑:程序博客网 时间:2024/05/31 13:17
vim下的复制粘贴 
 
下面是vim复制粘贴的基本命令:

yy复制游标所在行整行。或大写一个Y。
2yy或y2y复制两行。 ㄟ ,请举一反三好不好! :-)
y^复制至行首,或y0。不含游标所在处字元。
y$复制至行尾。含游标所在处字元。
yw复制一个word。
y2w复制两个字(单词)。
yG复制至档尾。
y1G复制至档首。
p小写p代表贴至游标后(下)。

P大写P代表贴至游标前(上)。


复制单个字符
首选进入正常模式(按ESC就行)

然后按v(指定粘贴板为"1v 引号不能少),进入visual方式,然后就可以移动方向键选中文本,然后按y,就拷贝完成,


复制n个字符:

如果你要从光标处开始复制 4 个字符,可以按 4yl (复制光标后的)("14yl)("110yl 后面10个字符),4yh(复制光标前的) ,就复制了4个字符到缓冲区中了,

按下来就可以用 p (指定粘贴板为"1v 引号不能少)命令随便粘贴了(1为指粘贴板名


想粘贴系统剪切板却失败:

我们先做这样一个小小的尝试,请打开浏览器,从网页上随便复制一段文字,然后打开VIM,用VIM,用"p"粘贴一下,你会发现,什么都没有站贴过来,原因是这样的,不同
于Windows,VIM具有多个剪贴板,并且和系统剪贴板是完全独立的,所以当你复制浏览器里的文字的时候,这段文字保存在了系统剪贴板,当你是用"p"来粘贴的时候,实际

上,他读取的是VIM的剪切板。  


怎么方便的将系统剪贴板的内容复制过来呢?

简单!用另外一个快捷方式"Shift+Insert"就可以了,如果你在使用Gvim的话,直接用鼠标中键也可起到相同的作用。是不

是很简单? 


OK!我们开始进阶!  

我们前面说过,VIM具有多个剪切板,目的是为了用户在做较复杂的字符处理的时候,可以更方便的复制粘贴。

请现在使用一下":reg"命令(先按 ESC键,退出编辑模式,然后按:进入命令模式,然后输入reg回车),看到了?屏幕上的输出结果!是不是特别眼熟,对了!就是您之前复制过的所有内容!也许这时候您还发现,VIM的剪切板原来有这么多个,按照数字还有符号一个一个的区分开的,这里举一个编号的例子--""5,看到了吗?是以"开头的。还有!有没有看到编号为"+的剪切板?里面的内容是不是刚才你在浏览器里复制的那段文字啊?呵呵……


没错了!系统剪切板的编号就是"+。  


粘贴一个特定的剪贴板

只是用p就不行了,那怎么办?简单!把剪贴板的编号带上不就可以了?现在先按ESC,退出编辑模式,然后依次按"+p这三个字符(怎么按?不会吧!"和+怎么按?用Shift啊!),好了!你看看,之前在浏览器中复制的这段文本,是不是被粘贴进文档中了?  

如何将系统剪切板里的内容复制进VIM当中


将文本复制进指定的剪切板,

只需要加上剪切板的编号就可以了。举个例子,我们希望把VIM中的一段文本复制下来,然后粘贴到浏览器的地址栏中:第一步,现把需要复制的文字选中(非编辑模式下),然后在键盘上依次按"+y这三个字符,OK!已经复制下来了,现在用:reg命令看看,是不是在"+剪切板中了?  


寄存器列表里无"* 或 “+ 寄存器?

则可能是由于没有安装vim的图形界面所致。Debian/Ubuntu下可以通过安装vim-gnome解决。$ sudo apt-get install vim-gnome



介绍一些vi编辑里的命令:

 (1)

yw 将当前字存入无名缓冲区,前面可加"x,表示存入名字为x的有名缓冲区(x为a-z),也可加数字表示存入的字数,以后可用P或p命令取出

 yy 将当前行存入无名缓冲区,用法参看yw

(2)

利用命名缓冲区可很好地保存若干文本段,便于以后存取、移动或者重排。这些缓冲区用a到z字母命名!

访问这些命名缓冲区(z-Z)中的一个,要使用双引号

例如:要把一行插入a缓冲区,可键入:"ayy
为了把这个文本放回该文件中,键入"ap



m做标志书签命令:
   m 字母 用字母标记当前行,以后可用 '字母使光标移动到当前行,

(参看'命令)


跨文件粘贴

例子:

      (1)将a文件中的4行到b文件中

       命令如下:"ay4+
                   :ex b (转到b文件中)
                    然后"ap
      (2). 将a中多行复制到b文件中
先在开始处做标志mk
然后在末尾用"ay'k (光标自动回到开始处,此时已经把你的内容放到缓冲区了)
其中a表示缓冲区a
然后用ex转义到你的文件B中,然后用"ap命令粘贴就行。