Vim 复制粘贴高级技巧全解析
1. 复制粘贴初体验与问题发现
在 Vim 中进行复制粘贴操作时,我们可能会遇到一些意想不到的问题。比如,我们先执行yiw复制了collection这个单词,后续执行diw删除某个单词后,使用P命令粘贴时,本以为会粘贴出collection,结果却得到了刚刚删除的somethingInTheWay。
这是因为diw命令不仅会删除单词,还会将其复制到未命名寄存器(unnamed register)中,实际上它相当于“剪切”操作。当执行diw时,未命名寄存器的内容被覆盖,所以后续粘贴时就得到了刚删除的内容。
2. 深入理解 Vim 寄存器
Vim 为了满足多样化的复制、剪切和粘贴需求,提供了多个寄存器,而不是像普通软件那样仅使用单一剪贴板。当使用删除、复制和粘贴命令时,我们可以指定要使用的寄存器。
- 寄存器指定方式:在命令前加上
"{register}"即可指定寄存器。若不指定,Vim 默认使用未命名寄存器。- 示例:
- 若要将当前单词复制到寄存器
a,可执行"ayiw"。 - 若要将当前行剪切到寄存器
- 若要将当前单词复制到寄存器
- 示例: