这四篇博客将一起学习 vim 的使用,上一篇讲了vim总结(二):文档编辑,这里将介绍查找与替换命令
知识点
- 字符替换命令
- 字符查找命令
1 字符的替换及撤销(Undo操作)
替换和 Undo 命令都是针对普通模式下的操作
命令 | 说明 |
---|---|
r +<待替换字母> | 将游标所在字母替换为指定字母 |
R | 连续替换,直到按下Esc |
cc | 替换整行,即删除游标所在行,并进入插入模式 |
cw | 替换一个单词,即删除一个单词,并进入插入模式 |
C(大写) | 替换游标以后至行末 |
~ | 反转游标所在字母大小写 |
u{n} | 撤销一次或n次操作 |
U(大写) | 撤销当前行的所有修改 |
Ctrl+r | redo,即撤销undo的操作 |
2 快速缩进
2.1 使用命令进行快速调整缩进操作
缩进操作均在普通模式下有效
打开文件进行编辑
$ vim protocols
- 普通模式下输入 15G,跳转到 15 行
- 普通模式下输入 >> 整行将向右缩进(用于格式化代码超爽)
- 普通模式下输入 << 整行向左回退
- 普通模式下输入 : 进入命令行模式下对 shiftwidth 值进行设置可以控制缩进和回退的字符数
2.2 shiftwidth命令
shiftwidth 命令是指上一节 >> 命令产生的缩进(可以简写成 sw ) 普通模式下输入 : 进入命令行模式下对 shiftwidth 值进行设置可以控制缩进和回退的字符数 获取目前的设定值
设置缩进为10个字符
:set shiftwidth=10
输入 ESC 回到普通模式,再次尝试 >> 看缩进量是否变化
2.3 调整文本位置
命令行模式下输入 :ce (center)命令使本行内容居中
:ce
命令行模式下输入 :ri (right)命令使本行文本靠右
:ri
命令行模式下输入 :le (left)命令使本行内容靠左
:le
3 查找
3.1 快速查找
普通模式下输入 / 然后键入需要查找的字符串,按回车后就会进行查找。 ? 与 / 功能相同,只不过 ? 是向上而 / 是向下查找。 进入查找之后,输入 n 和 N 可以继续查找。 n 是查找下一个内容, N 查找上一个内容。
3.2 快速查找练习
使用 vim 打开文件进行编辑(搜索高亮需要在配置文件 .vimrc 中设置 set hls ,实验环境中已经设置好了)
$ vim protocols
- 普通模式下输入 /icmp 然后回车即可查找字符串 icmp
- 普通模式下输入 n 查找下一个 icmp
- 普通模式下输入 ?tcp 向上查找字符串 tcp
- 普通模式下输入 N 查找上一个出现的 tcp
- 命令行模式下输入 noh 然后回车即可取消搜索
3.3 高级查找
- 普通模式下输入 \* 寻找游标所在处的单词
- 普通模式下输入 \# 同上,但 \# 是向前(上)找, \* 则是向后(下)找
- 普通模式下输入 g\* 同 \* ,但部分符合该单词即可
- 普通模式下输入 g\# 同 \# ,但部分符合该单词即可
以上查找 n , N 的继续查找命令依然可以用