查找

  • 按下/即可进入查找模式
  • 按下n查找下一个,按下N查找上一个
  • 支持正则表达式,例如/vim$匹配行尾的”vim”
  • 查找特殊字符需要转义,例如/vim\$匹配”vim$”

大小写敏感查找

  • 加入\c表示大小写不敏感查找,\C表示大小写敏感查找
/foo\c

Vim大小写敏感配置

  • Vim 默认采用大小写敏感的查找 " 设置默认进行大小写不敏感查找 set ignorecase " 如果有一个大写字母,则切换到大小写敏感查找 set smartcase

查找当前单词

  • normal模式下按下*即可查找光标所在单词(word)
  • g*即可查找光标所在单词的字符序列

查找与替换

:{作用范围}s/{目标}/{替换}/{替换标志}

:%s/foo/bar/g
  • 当前行: :s
  • 全文: :%s
  • 选区,在Visual模式下选择区域后输入:,Vim即可自动补全为 :’<,‘>
:'<,'>s/foo/bar/g
  • 2-11行
:5,12s/foo/bar/g
  • 当前行.与接下来两行+2
:.,+2s/foo/bar/g
  • 替换标志
# 空替换标志表示只替换从光标位置开始,目标的第一次出现
:%s/foo/bar

# i表示大小写不敏感查找,I表示大小写敏感:
:%s/foo/bar/i
# 等效于模式中的\c(不敏感)或\C(敏感)
:%s/foo\c/bar


# c表示需要确认,例如全局查找"foo"替换为"bar"并且需要确认
:%s/foo/bar/gc
# 提示
replace with bar (y/n/a/q/l/^E/^Y)?
# y表示替换,n表示不替换,a表示替换所有,q表示退出查找模式, l表示替换当前位置并退出。^E与^Y是光标移动快捷键