Vim编辑器怎么复制粘贴

Vim编辑器怎么复制粘贴

很多人刚用Vim时,最头疼的就是连最基本的复制粘贴都不会。明明按了Ctrl+C,结果却退出了当前模式,甚至不知道发生了什么。其实,Vim有自己的操作逻辑,搞清楚之后,反而比鼠标操作更高效。

进入正确模式是第一步

Vim有多种模式,复制粘贴主要在“普通模式”下完成。如果你正在输入文字,先按Esc键回到普通模式,这是所有命令的起点。

复制:用y来“拽”文本

在Vim里,复制不是Ctrl+C,而是按y。比如:

  • yy:复制当前一整行
  • y5j:从当前行开始,往下复制5行
  • yw:复制一个单词

假设你在修改一份配置文件,想把某一行复制到下面,先按yy复制,再按p粘贴,就完成了。

剪切与删除:x和d的妙用

剪切其实就是“删除+粘贴”。按dd删除一行,其实这行内容已经进了寄存器,相当于剪切了。想恢复?按p就能贴出来。x是删除单个字符,也一样能粘贴。

粘贴:按p就完事

复制或剪切后,把光标移到目标位置,按p,内容就会贴在光标后面。如果想贴在前面,可以用P(大写)。

比如你有一段常用注释,复制下来后,在多个函数上方按P,瞬间完成标注,比鼠标点来点去快多了。

跨文件复制?寄存器帮你记

有时候要从一个文件复制内容到另一个。只要没关Vim,dd或yy的内容默认保存在寄存器里。打开另一个文件,直接按p就行。

如果担心被覆盖,可以指定寄存器。比如用"ayy,就把当前行复制到a寄存器,之后用"ap粘贴,完全不受其他操作干扰。

和系统剪贴板互通

想把网页上的一段代码复制进Vim?或者把Vim里的内容发到微信?得和系统剪贴板打通。

前提是你的Vim支持clipboard功能。可以用以下命令检查:

:version

如果看到+clipboard,说明支持。然后使用:

  • "+yy:复制当前行到系统剪贴板
  • "+p:从系统剪贴板粘贴

比如从浏览器复制了一条命令,回到Vim,按"+p,立刻就能贴出来执行。

小技巧:快速重复操作

复制一次,粘贴多次?不用反复按p。比如你想用同一行生成10个测试数据,复制后按10p,一次性搞定。

熟练之后,你会发现,手指根本不用离开键盘,上下翻页、复制、粘贴、跳转,全靠几个键,效率蹭蹭往上涨。