查找字符,标点
t{char} - Move forward until the next occurrence of the character.
f{char} - Move forward over the next occurrence of the character.
T{char} - Move backward until the previous occurrence of the character.
F{char} - Move backward over the previous occurrence of the character.
% - 括号匹配
指出查找次数
3fa - 在当前行查找第三个出现的a
查找词(word)
/{pattern} - 向后搜索pattern
?{pattern} - 向前搜索pattern
* - 向后搜索当前光标所在的字
# - 向前搜索当前光标所在的字
gd - 跳到光标所在位置词(word)第一次出现的位置 g(o)d(efine)
在移动时进行复制,删出,修改
几乎所有移动都可以与v, y, d配合使用
ve - 选定一个词
ye - 复制一个词
de,(dw) - 删除一个词
dt" - 删除所有内容,直到"
yw (yank word) - 复制当前光标下的词
0y$ - 从行头拷贝到行尾
200ggv541gg - 从200行选择到541行
y/{pattern}<Enter>
y?{pattern}<Enter>
d/{pattern}<Enter>
d?{pattern}<Enter>
c/{pattern}<Enter>
c?{pattern}<Enter>
还可以与重复配合,如:
y2/foo - 拷贝2个`foo`之间的字符串
以上的d
,v
,y
可自由替换,均有作用
查找替换
vim的替换命令为:
:[range]s/{pattern}/string/[c,e,g,i]
- range表示范围,
.
表示当前行,$
表示最后一行,%
表示整个文件 - s表示substitute
- pattern为匹配的模式
- string将会取代{pattern}
- c表示confirm
- e不显示error
- g表示globe,整行替换
- i表示ignore,不区分大小写
常用:
:s/a/b/g - 当前行,用b替换a
:n1,n2s/a/b/g - 从n1行至n2行,用b替换a
:%s/a/b/g - 当前缓冲区用b替换a
:%s/a/b/gc - 当前缓冲区替换(进入选择模式)
:%s/^/b/g - 当前缓冲区在开头加b
:%s/$/b/g - 当前缓冲区在结尾加b
- older
- Newer