vim 教程 3 查找和替换

字符替换命令

替换和 Undo 命令都是针对普通模式下的操作

命令 说明
r + <待替换字母> 将游标所在字母替换为指定字母
R 连续替换,直到按下 Esc
cc 替换整行,即删除游标所在行,并进入插入模式
cw 替换一个单词,即删除一个单词,并进入插入模式
C(大写) 替换游标以后至行末
~ 反转游标所在字母大小写
{n}u 撤销(undo)一次或n次操作
U(大写) 撤销当前行(undo)的所有修改
Ctrl+r redo,即撤销undo的操作

普通模式下输入 15 G,跳转到 15 行
普通模式下输入 >> 整行将向右缩进(使用,用于格式化代码超爽)
普通模式下输入 << 整行向左回退
普通模式下输入 : 进入命令行模式下对 shiftwidth 值进行设置可以控制缩进和回退的字符数

获取目前的设定值
:set shiftwidth?

设置缩进为 10 个字符
:set shiftwidth=10

调整文本位置

  • : ce == center
  • : ri == right
  • : le == left

字符查找命令

普通模式下输入 / 然后键入需要查找的字符串 按回车后就会进行查找。 ? 与/ 功能相同,只不过 ? 是向上而 / 是向下查找。 进入查找之后,输入n 和 N 可以继续查找。 n 是查找下一个内容, N 查找上一个内容。

普通模式下输入/icmp然后回车即可查找字符串 icmp
普通模式下输入 n 查找下一个 icmp
普通模式下输入 ?tcp 向上查找字符串 tcp
普通模式下输入 N 查找上一个出现的 tcp
命令行模式下输入 noh 然后回车即可取消搜索

高级查找
普通模式下输入 * 寻找游标所在处的单词
普通模式下输入 # 同上,但 # 是向前(上)找,*则是向后(下)找
普通模式下输入 g* 同* ,但部分符合该单词即可
普通模式下输入 g# 同# ,但部分符合该单词即可