Vim 剪切复制粘贴
vim 默认情况下有 12 个粘贴板(寄存器),分别是 0、1、2、…、9、a、“、+。用 :reg 命令可以查看各个粘贴板里的内容。
在 vim 中简单用 y 命令只是复制到 "(双引号)粘贴板里,同样用 p 命令粘贴的也是这个粘贴板里的内容。
要将 vim 的内容复制到某个粘贴板,需要先退出编辑模式,再进入命令模式后,选择要复制的内容,然后按 "Ny(注意带引号)完成复制,其中 N 为粘贴板号(注意是按下 双引号 + 粘贴板号 + y),例如要把内容复制到粘贴板 a,选中内容后按 "ay 就可以了。
这其中有 2 点需要说明一下:
"号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容.+号粘贴板是系统粘贴板,用"+y将内容复制到该粘贴板后可以使用ctrl+v将其粘贴到其他文档(如 firefox、gedit)中,同理,要把在其他地方用ctrl+c或右键复制的内容复制到 vim 中,需要在正常模式下按"+p;
要将 vim 某个粘贴板里的内容粘贴进来,需要先退出编辑模式,再在命令模式按 "Np,其中 N 为粘贴板号,如上所述,命令 "5p 会将 5 号粘贴板里的内容粘贴进来,也可以按 "+p 将系统全局粘贴板里的内容粘贴进来。
剪切和复制、粘贴
[n]x: 剪切光标右边n个字符,相当于d[n]l。[n]X: 剪切光标左边n个字符,相当于d[n]h。y: 复制在可视模式下选中的文本。yyorY: 复制整行文本。y[n]w: 复制一(n)个词。y[n]l: 复制光标右边1(n)个字符。y[n]h: 复制光标左边1(n)个字符。y: 从光标当前位置复制到行尾。y0: 从光标当前位置复制到行首。:m,ny复制m行到n行的内容。y1G或ygg: 复制光标以上的所有行。yG: 复制光标以下的所有行。yaw和yas:复制一个词和复制一个句子,即使光标不在词首和句首也没关系。d: 删除(剪切)在可视模式下选中的文本。d$: 删除(剪切)当前位置到行尾的内容。d[n]w: 删除(剪切)1(n)个单词d[n]l: 删除(剪切)光标右边1(n)个字符。d[n]h: 删除(剪切)光标左边1(n)个字符。d0: 删除(剪切)当前位置到行首的内容[n] dd: 删除(剪切)1(n)行。:m,nd剪切m行到n行的内容。d1G或dgg: 剪切光标以上的所有行。dG: 剪切光标以下的所有行。daw和das:剪切一个词和剪切一个句子,即使光标不在词首和句首也没关系。d/f:这是一个比较高级的组合命令,它将删除当前位置 到下一个f之间的内容。p: 在光标之后粘贴。P: 在光标之前粘贴。
y, d, c, v都可以跟文本对象。
6.3 寄存器
不使用0-9系统默认的寄存器,也可以自定义寄存器名称。
a-z:都可以用作寄存器名。”ayy把当前行的内容放入a寄存器。A-Z:用大写字母索引寄存器,可以在寄存器中追加内容。 如”Ayy把当前行的内容追加到a寄存器中。:reg显示所有寄存器的内容。“”:不加寄存器索引时,默认使用的寄存器。“*:当前选择缓冲区,”*yy把当前行的内容放入当前选择缓冲区。“+:系统剪贴板。”+yy把当前行的内容放入系统剪贴板。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/59193.html