您的位置:首页 > 其它

Vim 复制粘贴

2011-12-19 20:33 218 查看
Vim 复制粘贴

2010/07/09 10:23
从Vim拷贝到系统粘贴板:"+y

从系统粘贴板拷贝到Vim:"+p 或 Shitf + insert
在vim里面,系统的粘贴板跟vim的寄存器+是关联的,所以你对寄存器加+的任何复制和粘贴都直接影响到系统的粘贴板。

vim有12个粘贴板,分别是0、1、2、...、9、a、“、+;用:reg命令可以查看各个粘贴板里的内容.
要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按"Ny(注意带引号)完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了,有两点需要说明一下:

“号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;

+号粘贴板是系统粘贴板,用"+y将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按"+p;
要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按"Np,其中N为粘贴板号,如上所述,可以按"5p将5号粘贴板里的内容粘贴进来,也可以按"+p将系统全局粘贴板里的内容粘贴进来。

注意:在我这里,只有vim.gtk或vim.gnome才能使用系统全局粘贴板,默认的vim.basic看不到+号寄存器。安装vim.gnome使用apt-get
install vim-gnome,然后vim自动会链接到vim.gnome。

下面是vim复制粘贴的基本命令:

yy复制游标所在行整行。或大写一个Y。

2yy或y2y复制两行。 ㄟ ,请举一反三好不好! :-)

y^复制至行首,或y0。不含游标所在处字元。

y$复制至行尾。含游标所在处字元。

yw复制一个word。

y2w复制两个字(单词)。

yG复制至档尾。

y1G复制至档首。

p小写p代表贴至游标后(下)。

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

复制单个字符

首选进入正常模式(按ESC就行)

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

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

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

那么vi编辑器中的整行(多行)复制与粘贴就非常必要了。

1、复制

1)单行复制

在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;

2)多行复制

在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3……

2、粘贴

在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴



vi复制多行文本的方法

方法1:

光标放到第6行,

输入:2yy

光标放到第9行,

输入:p

此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。

方法2:

命令行模式下输入

6,9 co 12

复制第6行到第9行之间的内容到第12行后面。

方法3:

有时候不想费劲看多少行或复制大量行时,可以使用标签来替代

光标移到起始行,输入ma

光标移到结束行,输入mb

光标移到粘贴行,输入mc

然后 :'a,'b co 'c 把 co 改成 m 就成剪切了

要删除多行的话,可以用 :5, 9 de


更多参考:
http://dikar.iteye.com/blog/1038147

http://www.linuxsir.org/bbs/archive/index.php/t-20178.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: