Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VIM之重复执行 #28

Open
vonzhou opened this issue Jul 25, 2020 · 0 comments
Open

VIM之重复执行 #28

vonzhou opened this issue Jul 25, 2020 · 0 comments

Comments

@vonzhou
Copy link
Owner

vonzhou commented Jul 25, 2020

我们都害怕重复,重复是繁琐的,重复是低效的。凡是可以简化重复操作的方式,都会成倍节约我们的时间,甚至降低日后的运维成本。

.命令(dot command)的效果是普通模式下重复上一次执行的操作, 这个看似简单的命令,实则会大大提升我们的效率。

重复上次修改(repeat last change)这个修改可能是删除一个字符、插入特定文本、做了格式调整等等。

接下来看几个例子,每次操作完成, 使用u将文本恢复到初始状态。

删除单个字符

x命令删除单个字符,然后不断的.VIM就会删除光标下的字符。

删除整行

dd命令删除整行,然后不断的.VIM就会删除光标所在的行,先往下,让后往上,直到删掉所有。

5.输入可以同时删除5行。

复制整行

yy命令复制整行,然后移动到合适的位置,使用p进行复制到当前行的下一行,或者P复制到当前行的上一行,后续移到新位置,可以使用.进行上述复制。

缩进

>G命令会增加从当前行到文末的缩进层次,如果.就会不断缩进。

一次修改

从进入插入模式,到<Esc>返回到普通模式,期间进行进行的编辑,也可以使用.进行重复。

删除整个单词

可以使用daw命令(delete a word)来删除整个单词,aw是一种文本对象(text object)。

daw之后不断的.就可以删除光标所在的单词,节省了大量输入。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant