:s/foo/bar/gc:在行中查找 foo 并询问是否替换为 bar。
:v/pattern/d:删除所有不匹配 pattern 的行。
:g/pattern/d:删除所有匹配 pattern 的行。
:g/pattern/s/foo/bar/g:在匹配 pattern 的行中,将 foo 替换为 bar。
:%s/old/new/g:在整个文件中将 "old" 替换为 "new"。
:.,$s/old/new/g:从当前行到文件末尾,将 "old" 替换为 "new"。
gf:在当前文件中查找光标下的单词,并将光标定位到第一个匹配项。
* 或 #:在当前文件中查找光标下的单词,* 是向前查找,# 是向后查找。
代码之后,来点小理论:
- 查找文本:
- 使用
/
加上你要查找的文本,然后按Enter
。例如,要查找 "example",你可以输入/example
然后按Enter
。 - 使用
n
查找下一个匹配项,使用N
查找上一个匹配项。
- 使用
- 高亮显示匹配项:
- 默认情况下,Vim 可能会高亮显示当前查找的匹配项。如果没有,你可以通过设置
hlsearch
选项来启用它::set hlsearch
。 - 要清除高亮显示,你可以使用
:noh
或:nohlsearch
。
- 默认情况下,Vim 可能会高亮显示当前查找的匹配项。如果没有,你可以通过设置
- 查找并替换:
- 使用
:s
命令可以在当前行中进行查找和替换。例如,要将 "example" 替换为 "sample",你可以输入:s/example/sample/
。 - 要在整个文件中进行查找和替换,你可以使用
:%s
命令。例如,:%s/example/sample/g
会在整个文件中替换所有 "example" 为 "sample"。 g
标志表示全局替换(即替换每一行中的所有匹配项)。- 在替换前,Vim 会询问你是否真的想进行替换。如果你不想每次都被询问,可以添加
c
标志(表示确认),这样 Vim 会在每次替换前都询问你。
- 使用
- 查找并进入插入模式以修改:使用
f
命令可以查找字符并进入普通模式,然后你可以按i
进入插入模式进行修改。例如,fa
会查找下一个 'a' 字符并将光标置于其上,然后你可以按i
进入插入模式进行编辑。 - 查找并提示修改:Vim 本身并没有一个内置的命令来“查找并提示修改”,但你可以结合使用查找命令和 Vim 的其他功能来实现类似的效果。例如,你可以查找一个文本模式,然后手动检查并决定是否修改它。你可以编写 Vim 脚本或使用插件来自动化这个过程,例如,在找到匹配项时自动显示一个提示或对话框。