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,一次性搞定。
熟练之后,你会发现,手指根本不用离开键盘,上下翻页、复制、粘贴、跳转,全靠几个键,效率蹭蹭往上涨。