MENU

Vim第四讲 搜索、查找、替换

July 3, 2020 • Read: 66 • Vps&Linux

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

Archives QR Code Tip
QR Code for this page
Tipping QR Code