vi中选择复制及粘贴

转自:http://0x55aa.sinaapp.com/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/437.html

今天写代码特意在vim下写的,逼着自己不动鼠标。不能解决的问题就google一下然后学习 ,再操作下,这次记录最基本的选择、复制和粘帖

基本操作流程:
进入可视模式,按ESC键。然后按v键,进入虚拟模式,相当于模拟鼠标。然后用方向键选定你的内容.(假如,移动光标上下左右,选中第三行和第四行的内容),然后按y键复制选定的内容;再用方向键移动到你要粘贴的地方(假如,移动指针到第十行),最后按p键来粘贴。
贴大牛的笔记:
1. 将光标移动到将要复制的行处,按yy举行复制当前行(按nyy复制n行),再移动到粘贴位置,按p举行粘贴。

2. 将光标移到复制的首位置,按下v,用hjkl移动,按y复制,如果按d就表示剪切,按p粘贴。

3. 光标移到肇始行,输入ma;光标移到结果行,输入mb;光标移到粘贴行,输入mc;然后 :’a,’b co ‘c,把 co 改成 m 就成剪切了。

4. 光标移动到要复制的行,输入yny(n表现要复制该行以下n行);光标移动到粘贴行,按p粘贴。

5. 直接输入:n1,n2 co n3。(n1为肇始行,n2为结果行,n3为粘贴行)

6. 差别文件之间的复制:用:sp [filename]打开另一文件,(用^ww在文件之间切换),然后按上述要领复制

相关的下令如下:

yy 将当前行复制到缓冲区

yw 将当前单词复制到缓冲区

y1 将光标处的一个字符复制到缓冲区

p 将缓冲区的信息粘贴到光标的背面

:行号1 ,行号2 copy 行号3 将行号1到行号2的内容复制到行号3地址行的背面。

:行号1 ,行号2 move 行号3 将行号1到行号2的文本内容移动到行号3地址行的背面。

7. 寄存器操纵

“?nyy: 将当前行及其下n行的内容存储到寄存器?中,此中?为一个字母,n为一个数字

“?nyw: 将当前行及其下n个字存储到寄存器?中,此中?为一个字母,n为一个数字

“?nyl: 将当前行及其下n个字符存储到寄存器?中,此中?为一个字母,n为一个数字

“?p: 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母 ,也可以是一个数字

ndd: 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中 vi 中配置tab为4和自动转换成空格

yw命令可以复制一个单词。yy命令可以复制一行,y$命令可以复制从当前光标到本行结尾的所有字符
‘ 跳转前的光标位置
” 最后编辑的光标位置
[ 上一次修改的开始处
] 上一次修改的结尾处
将光标移到某一行,用命令ma来进行标记。在这里m是标记的命令,a是对这一行所做标记的名称,当然也可以使用26个字母中的任意一个做为标记名称。

剪切与复制相同:

剪切一行:dd
剪切当前行光标所在的位置到行尾:d$
剪切当前行光标所在的位置到行首:d^
前切三行:3dd,即从当前行+下两行被剪切了。

posted on 2012-11-30 14:47  zhanghw0354  阅读(792)  评论(0编辑  收藏  举报