![b2f41fa75801f6e5b53a3172e0a1cee3.png](https://i-blog.csdnimg.cn/blog_migrate/3e7e8f2c4f379921f1ea710f1583f4bb.jpeg)
本篇文章介绍 vim 的一些使用技巧:
- 用 y 命令复制字符、单词、或者行
- 自动输入指定个数的重复字符
用 y 命令复制字符、单词、或者行
在 vim 中,可以使用 y 命令进行复制,输入该命令之后,还需要再输入一个 motion 操作符来指定要复制字符、单词、还是行,具体说明如下:
- yw
复制一个单词 (包括单词后面的空白字符) - ye
复制一个单词 (不包括单词后面的空白字符) - yl
复制当前光标下的字符 - yh
复制光标前面的一个字符 - 4yl
复制当前光标下的字符、以及后面三个字符,总共四个字符 - 4yh
复制光标前面的四个字符 (不包括当前光标所在的字符) - yy
复制当前光标所在的一整行 - 4yy
复制当前光标所在的行、以及后面三行,总共四行
另外,如果需要复制较多内容,可以先输入 v 命令,切换到可视模式,移动光标选中一块区域,再输入 y 命令就能复制选中的所有内容。
用 y 命令复制之后,可以用 p 命令粘贴所复制的内容。
自动输入指定个数的重复字符
在编辑的时候,有时候需要输入一长串的重复字符。例如“########”、“========”、“//”、“*********”、“-------” 等。
为了对齐美观,可能会希望每一行这些重复字符的个数都相同。我们可以通过复制来做到这一点,但需要先找到已经写好的行,复制,再拷贝,比较麻烦。
有一个比较简单的方法是,在输入的时候,就指定要重复的字符个数,然后只输入一个字符,接着退出插入模式,vim 会自动输入指定个数的重复字符。
例如,在普通模式下,输入 10a= 就能得到 10 个连续的 ‘=’ 字符。按 a 后,会进入插入模式,然后只输入一个 = 字符,再按 Esc 键,vim 会自动输入9个 = 字符,得到10个连续的 = 字符。
这里的 a 可以换成其他进入插入模式的命令,例如 i 命令,也不限于插入单个字符。实际上,进入插入模式后输入的所有内容,都会在退出插入模式时被重复输入。
用 :help count 命令可以看到在命令前面输入数字重复执行命令的帮助说明。