level 3
laotangsky
楼主
前言
看了很多教程,很多都是讲讲dw、cw、插件配置的内容,实际操作总是不知道该用哪些命令,想把平时遇到的操作写下来,与大家交流交流。
Example 1.
用已有单词a快速替换单词b。
假设文本内容如下(用下划线表示光标位置):
This is test txt.
_Jack is man.
Kate is a woman.
Tom is a robot.
问题:用单词Jack 快速替换单词Tom 。
如果不知道光标位置,也可以用/Ja回车,移动光标到Jack位置,
有2种方法:
yw jj vep
yiw jj viwp
补充:
最初遇到这个问题的时候,我首先想到的做法是是:yw复制Jack,dw删除Tom,然后用p粘贴。这个做法实际上是行不通的。
有时候我们用yw复制了Jack,但是不小心使用了类似dw、cw的带有剪切操作的命令,此时无名寄存器已经被刷新了,用p命令粘贴出来的就不是Jack了,那怎么办呢?实际上y命令还会在复制专用寄存器0有一个备份,所以还可以用"0p来粘贴Jack,如:
yw jj dw esc "0p
总结:如果不想覆盖寄存器,不要用cw,dw去修改目标文本,而是直接vw选中文本,然后执行粘贴p。
2016年10月05日 16点10分
1
看了很多教程,很多都是讲讲dw、cw、插件配置的内容,实际操作总是不知道该用哪些命令,想把平时遇到的操作写下来,与大家交流交流。
Example 1.
用已有单词a快速替换单词b。
假设文本内容如下(用下划线表示光标位置):
This is test txt.
_Jack is man.
Kate is a woman.
Tom is a robot.
问题:用单词Jack 快速替换单词Tom 。
如果不知道光标位置,也可以用/Ja回车,移动光标到Jack位置,
有2种方法:
yw jj vep
yiw jj viwp
补充:
最初遇到这个问题的时候,我首先想到的做法是是:yw复制Jack,dw删除Tom,然后用p粘贴。这个做法实际上是行不通的。
有时候我们用yw复制了Jack,但是不小心使用了类似dw、cw的带有剪切操作的命令,此时无名寄存器已经被刷新了,用p命令粘贴出来的就不是Jack了,那怎么办呢?实际上y命令还会在复制专用寄存器0有一个备份,所以还可以用"0p来粘贴Jack,如:
yw jj dw esc "0p
总结:如果不想覆盖寄存器,不要用cw,dw去修改目标文本,而是直接vw选中文本,然后执行粘贴p。