vim 替换、撤销、缩进、查找

上一次我们掌握了移动、跳转、定位、操作(删除、复制、粘贴),基本使用vim脱离鼠标完全是可以做到的了。速记如下:

移动: ​​h,l,j,k,w,b​

跳转:​​G​​​ ​​nG​​​ ​​f/F 字母​

定位:​​G​​​代表尽头, ​​$​​​代表行尾,​​^​​​代表行首,​​w​​​代表下一个单词,​​b​​​上一个单词,​​e​​当前单词末尾

操作:​​y​​​ ​​d​​​ ​​p​

知识点

  • 字符替换
  • 缩进与调整文本位置(居左、居中、居右)
  • 字符查找

字符的替换及撤销

查找和替换是编辑器中最常用的功能之一,在普通编辑器当中查找替换时,你可能需要先移动鼠标在菜单中点击查找的功能,输入查找内容,再点击确认查找。而在vim中,所有的操作只需要敲击几下键盘就行了,手不用离开键盘区域,速度自然会快很多很多。

替换和撤销(Undo)

替换和Undo命令都是针对普通模式下的操作,这次用到三个字母,​​r/R​​​,​​c/C​​​,​​u/U​

​r <待替换字母>​​    将游标所在的一个字母替换为其他字母(如下#替换成i)

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_快速查找

当然了,一个一个替换甚是麻烦,不妨使用R连续替换

​R​​​    连续替换,直到按下​​Esc​

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_快速查找_02

​cw​​   删除一个单词,并进入插入模式

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_命令行_03

​C​​   删除从游标处开始到当前行尾,并进入插入模式

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_缩进_04

​u​​    撤销一次操作(如下,粘贴了Internet单词三次,按u三次,撤销粘贴操作)

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_缩进_05

​U​​(大写)    无论当前行修改了多少次,撤销当前行的所有修改

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_缩进_06

​Ctrl r​​    redo,即撤销undo的操作(如下,删除一个单词,写入123,之后交替u和Ctrl r,可以观察到重复撤销123输入,再恢复123输入)

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_命令行_07

快速缩进

快速缩进在编辑代码时极其有用,快速调整代码缩进非常的爽,缩进操作均在普通模式下有效

使用命令进行快速调整缩进操作

​>>​​ 整行将向右缩进

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_缩进_08

​<<​​ 整行向左回退

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_缩进_09

设置缩进字符数

命令行模式下对​​shiftwidth​​​值进行设置可以控制缩进和回退的字符数 (可以简写成​​sw​​,下面我都用简写)

获取目前的设定值

:set shiftwidth?

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_命令行_10

设置缩进为n个字符

:set shiftwidth=n

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_命令行_11

输入 ESC 回到普通模式,再次尝试 >> 看缩进量是否变化

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_命令行_12

调整文本位置

命令行模式下输入​​:le​​(left)命令使本行内容靠左

:le

命令行模式下输入​​:ce​​(center)命令使本行内容居中

:ce

命令行模式下输入​​:ri​​(right)命令使本行文本靠右

:ri

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_命令行_13

查找

快速查找

普通模式下输入 ​​/​​​ 然后键入需要查找的字符串 按回车后就会进行查找。 输入​​n​​​ 和 ​​N​​​ 可以继续查找。 ​​n​​​是查找下一个内容,​​N​​查找上一个内容。

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_命令行_14

​?​​​ 与​​/​​​ 功能相同,只不过​​?​​​是向上而 ​​/​​​ 是向下查找。 ​​:noh​​退出查找模式

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_命令行_15

高级查找

普通模式下输入​​*​​​寻找游标所在处的单词普通模式下输入​​#​​​同上,但 ​​#​​​是向前(上)找,​​*​​则是向后(下)找

Vim高手,从来不用鼠标2——替换、撤销、缩进、查找_命令行_16

以上查找​​n​​​,​​N​​ 的继续查找命令依然可以用

小结

这一节学习了替换,撤销操作及快速查找,其中替换和文档内快速查找的功能十分实用,希望能够熟练掌握。

速记如下:

替换:​​r <待替换字母>​​​,​​R​

删除并插入:​​cw​​​、​​C​

撤销:​​u​​​、​​U​​​、​​ctrl r​

调整文本位置:​​:le​​​、​​:ce​​​、​​:ri​

查找:​​文本​​​、​​?文本​​​、​​n​​​、​​N​