zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Vim 剪切复制粘贴

Vim 复制粘贴 剪切
2023-06-13 09:16:00 时间
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: 复制在可视模式下选中的文本。 yy or Y: 复制整行文本。 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/59193.html

FireFox