查找
在normal模式下按 /
键即可进入查找模式,输入需要查找的字符串按下回车即可查找,vim会自动匹配第一个
查找下一个:n
查找上一个:N
正则查找:/vim$
匹配行尾的vim
转义查找:/vim\$
查找字符串“vim$”,转义符为 \
大小写不敏感查找:\c
例如:/vim\c
大小写敏感查找:\C
例如:/VIM\C (vim默认采用大小写敏感查找)
查找当前分词:*
,只可匹配单词 g*
可匹配单词与单词中的字符
查找与替换
:s(substitute)
命令用来查找和替换字符串。
语法》 :{作用范围}s/{目标内容}/{替换内容}/{替换标志}
例如》 :%s/name/names/g
会在全局范围(%)查找name并且提花难为names,所有出现的都会被替换(g)
作用范围
作用范围分为当前行(:s
),选区(:10,20s :.,+10s
),全文(:%s
)
:10,20s 意思为 第10行到20行
:.,+10s 意思为 从当前行(.)开始于接下来的10行(+10)
替换标志
g
全局替换,替换所有出现的目标
空
空替换标志表示只替换一行中目标的首次出现,之后的出现将不再替换,注意是一行中
i
表示大小写不敏感
I
表示大小写敏感
c
表示需要确认,回车后vim会将光标移动到每一次查找的字符串所出现的位置,并提示replace with bar (y/n/a/q/l/^E/^Y)?
按下y
表示替换,n
表示不替换,a
表示替换所有,q
表示退出查找模式, l
表示替换当前位置并退出。^E与^Y
是光标移动快捷键
快速移动
快速移动配合查找与替换,将会大大提升你的效率。
vim中光标快速移动
通过h j k l
进行字符移动,支持数字前缀,比如10j,向下移动10行
通过w b e ge
进行单词移动
w
: 移动光标到下一个单词的词首
b
: 移动光标到上一个单词的词首
e
: 移动光标到下一个单词的结尾
ge
: 移动光标到上一个单词的结尾
W B E
具有同样的功能,区别是,它是用空格来分隔单词的,跨度更大
文件中移动
:set nu
(number) 显示行号
:10
光标移动到文件的第10行
gg
移动到文件首行
G
移动到文件尾行
q/
与 q?
可以列出查找历史
/
查找字符串 可以查找字符串
?
查找字符串 反向查找字符串
例子:
ggyG
拷贝整个文件