4.1 定位及文件状态

** 输入 CTRL-G 显示当前编辑文件中当前光标所在行位置以及文件状态信息。
输入大写 G 则直接跳转到文件中的某一指定行。**


  1. 按下 CTRL 键不放开然后按 g 键。我们称这个键组合为 ​​CTRL-G​​。
    您会看到页面最底部出现一个状态信息行,显示的内容是当前编辑的文件名

和文件中光标位置。请记住行号,它会在步骤3中用到。

提示:您也许会在屏幕的右下角看到光标位置,这会在 'ruler' 选项设置时发生 (参见 ​​:help 'ruler'​​)

  1. 输入大写 ​​G​​ 可以使得当前光标直接跳转到文件最后一行。
    输入 ​​gg​​ 可以使得当前光标直接跳转到文件第一行。
  2. 输入 ​​您曾停留的行号​​ ,然后输入 ​​大写 G​​。这样就可以返回到您第一次按下 ​​CTRL-G​​ 时所在的行了。


4.2 搜索

** 输入 / 加上一个字符串可以用以在当前文件中查找该字符串。**


  1. 在正常模式下输入 ​​/​​ 字符。您此时会注意到该字符和光标都会出现在屏幕底
    部,这跟 ​​:​​ 命令是一样的。
  2. 接着输入 ​​errroor <回车>​​ 。那个 ​​errroor​​ 就是您要查找的字符串。
  3. 要查找同上一次的字符串,只需要按 ​​n​​ 键。要向相反方向查找同上一次的字
    符串,请输入 ​​大写 N​​ 即可。
  4. 如果您想逆向查找字符串,请使用 ​​?​​ 代替 ​​/​​ 进行。
  5. 要回到您之前的位置按 ​​CTRL-O​​ (按住 Ctrl 键不放同时按下字母 o)。重复按可以
    回退更多步。 ​​CTRL-I​​ 会跳转到较新的位置。


4.3 配对括号的查找

** 输入 % 可以查找配对的括号 )、]、}。**


  1. 移动光标到一个括号 ​​)​​ 、 ​​]​​ 、 ​​}​​ 按 ​​%​​ 字符。
  2. 此时光标的位置应当是在配对的括号处。
  3. 再次按 ​​%​​ 就可以跳回配对的第一个括号处。


4.4 替换

** 输入 :s/old/new/g 可以替换 old 为 new。**


  1. 输入 ​​:s/thee/the <回车>​​ 。请注意该命令只改变光标所在行的第一个匹配
    串。
  2. 输入 ​​:s/thee/the/g​​ 则是替换全行的匹配串,该行中所有的 "thee" 都会被
    改变。
  3. 要替换两行之间出现的每个匹配串,请
    输入 ​​:#,#s/old/new/g​​ 其中 ​​#,#​​ 代表的是替换操作的若干行中

首尾两行的行号。

输入 ​​:%s/old/new/g​​ 则是替换整个文件中的每个匹配串。

输入 ​​:%s/old/new/gc​​ 会找到整个文件中的每个匹配串,并且对每个匹配串

提示是否进行替换。


总结

  1. ​CTRL-G​​ 用于显示当前光标所在位置和文件状态信息。
    ​G​​ 用于将光标跳转至文件最后一行。

先敲入一个 ​​行号​​ 然后输入 ​​大写 G​​ 则是将光标移动至该行号代表的行。

​gg​​ 用于将光标跳转至文件第一行。

  1. 输入 ​​/​​ 然后紧随一个 ​​字符串​​ 是在当前所编辑的文档中 ​​正向查找​​ 该字符串。
    输入 ​​?​​ 然后紧随一个 ​​字符串​​ 则是在当前所编辑的文档中 ​​反向查找​​ 该字符串。

完成一次查找之后按 ​​n​​ 键是重复上一次的命令,可在同一方向上查

找下一个匹配字符串所在;或者按大写 ​​N​​ 向相反方向查找下一匹配字符串所在。

​CTRL-O​​ 带您跳转回较旧的位置,​​CTRL-I​​ 则带您到较新的位置。

  1. 如果光标当前位置是括号 ​​(、)、[、]、{、}​​ ,按 ​​%​​ 会将光标移动到配对的括号上。
  2. 在一行内替换 ​​头一个​​ 字符串 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​

--------------------- Author: ​ ​Frytea​​Title: Vim第四讲 搜索、查找、替换 Copyright: This work by ​ TL-Song is licensed under a ​​Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License​​.​ Vim第四讲 搜索、查找、替换_字符串