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
--------------------- Author: FryteaTitle: Vim第四讲 搜索、查找、替换 Copyright: This work by TL-Song is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.