4.1 定位及文件状态
** 输入 CTRL-G 显示当前编辑文件中当前光标所在行位置以及文件状态信息。
输入大写 G 则直接跳转到文件中的某一指定行。**
- 按下 CTRL 键不放开然后按 g 键。我们称这个键组合为 CTRL-G。
您会看到页面最底部出现一个状态信息行,显示的内容是当前编辑的文件名
和文件中光标位置。请记住行号,它会在步骤3中用到。
提示:您也许会在屏幕的右下角看到光标位置,这会在 'ruler' 选项设置时发生 (参见 :help 'ruler')
- 输入大写 G 可以使得当前光标直接跳转到文件最后一行。
输入 gg 可以使得当前光标直接跳转到文件第一行。
- 输入 您曾停留的行号 ,然后输入 大写 G。这样就可以返回到您第一次按下 CTRL-G 时所在的行了。
4.2 搜索
** 输入 / 加上一个字符串可以用以在当前文件中查找该字符串。**
- 在正常模式下输入 / 字符。您此时会注意到该字符和光标都会出现在屏幕底部,这跟 : 命令是一样的。
- 接着输入 errroor <回车> 。那个 errroor 就是您要查找的字符串。
- 要查找同上一次的字符串,只需要按 n 键。要向相反方向查找同上一次的字符串,请输入 大写 N 即可。
- 如果您想逆向查找字符串,请使用 ? 代替 / 进行。
- 要回到您之前的位置按 CTRL-O (按住 Ctrl 键不放同时按下字母 o)。重复按可以回退更多步。 CTRL-I 会跳转到较新的位置。
4.3 配对括号的查找
** 输入 % 可以查找配对的括号 )、]、}。**
- 移动光标到一个括号 ) 、 ] 、 } 按 % 字符。
- 此时光标的位置应当是在配对的括号处。
- 再次按 % 就可以跳回配对的第一个括号处。
4.4 替换
** 输入 :s/old/new/g 可以替换 old 为 new。**
- 输入 :s/thee/the <回车> 。请注意该命令只改变光标所在行的第一个匹配串。
- 输入 :s/thee/the/g 则是替换全行的匹配串,该行中所有的 "thee" 都会被改变。
- 要替换两行之间出现的每个匹配串,请输入 :#,#s/old/new/g 其中 #,# 代表的是替换操作的若干行中首尾两行的行号。
- 输入 :%s/old/new/g 则是替换整个文件中的每个匹配串。
- 输入 :%s/old/new/gc 会找到整个文件中的每个匹配串,并且对每个匹配串提示是否进行替换。
总结
CTRL-G 用于显示当前光标所在位置和文件状态信息。
G 用于将光标跳转至文件最后一行。
先敲入一个 行号 然后输入 大写 G 则是将光标移动至该行号代表的行。
gg 用于将光标跳转至文件第一行。
- 输入 / 然后紧随一个 字符串 是在当前所编辑的文档中 正向查找 该字符串。
- 输入 ? 然后紧随一个 字符串 则是在当前所编辑的文档中 反向查找 该字符串。
完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查找下一个匹配字符串所在;或者按大写 N 向相反方向查找下一匹配字符串所在。CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。
- 如果光标当前位置是括号 (、)、[、]、{、} ,按 % 会将光标移动到配对的括号上。
- 在一行内替换 头一个 字符串 old 为新的字符串 new,请输入 :s/old/new
- 在一行内替换 所有 的字符串 old 为新的字符串 new,请输入 :s/old/new/g
- 在 两行内 替换所有的字符串 old 为新的字符串 new,请输入 :#,#s/old/new/g
- 在 文件内 替换所有的字符串 old 为新的字符串 new,请输入 :%s/old/new/g
- 进行全文替换时 询问用户确认 每个替换需添加 c 标志 :%s/old/new/gc