左手:功能
删除
按键 | 解释 |
---|
d(elete) | 删除,需指定范围 |
c(hange) | 删除并进入insert模式,需指定范围 |
s | 删除光标下的字符并进入insert模式(=dli=xi) |
S | 删除当前行的所有字符并进入insert模式(=0C=ddO=cc) |
C | 删除光标当前所在字符到行末并进入insert模式(=c$) |
D | 删除光标当前所在字符到行末(=d$) |
x | 删除光标下的字符(=dl) |
X | 删除光标左边的字符(=dh) |
复制
插入
按键 | 解释 |
---|
i | 进入插入模式,字符将在光标左边输入 |
I | 进入插入模式,字符将从行首开始输入 |
a | 进入插入模式,字符将在光标右边输入 |
A | 进入插入模式,字符将从行末开始输入 |
粘贴
按键 | 解释 |
---|
p | 将临时寄存器的内容粘贴到光标所在字符之后 |
P | 将临时寄存器的内容粘贴到光标所在字符之前 |
替换
按键 | 解释 |
---|
r | 替换光标下的一个字符 |
R | 进入replace模式持续替换字符直到到Esc退出该模式 |
转换大小写
按键 | 解释 |
---|
gu | 转换为小写,需指定范围 |
gU | 转换为大写,需指定范围 |
g~ | 大小写对换,需指定范围 |
右手:光标的移动
在word/string移动
按键 | 解释 |
---|
b | 往回移动到word的开头 |
B | 往回移动到string的开头 |
w | 往前移动到下一个word的开头 |
W | 往前移动到下一个string的开头 |
e | 往前移动到word的结 |
E | 往前移动到string的结尾 |
一般vim会认为由空格隔开的只包含{09}{az}{A~Z}{_}的字符串为一个word,空格隔开且包含其他符号的字符串认为是string
在行内搜索移动
按键 | 解释 |
---|
f | 行内往前搜索一个字符并将光标置于该字符上 |
F | 行内往后搜索一个字符并将光标置于该字符上 |
t | 行内往前搜索一个字符并将光标置于该字符之前 |
T | 行内往后搜索一个字符并将光标置于该字符之后 |
在左手右手的动作之间加入一些小小的修饰,效果拔群!
常用修饰 | 含义 |
---|
a(round) | eg: daw 删除光标下面一个word有空格的时候会带上一个空格 |
i(nside) | eg: diw 删除光标下面一个word **ci ** 能够一步完成删除跟插入 |
number | eg: d3w 从光标下面一个词开始删到第3个词末 |
除了上述这样的左+修饰+右的操作还有一些特殊的标记
特殊标记 | 含义 |
---|
" / { / [ / ( | eg: di" 删除一对"中间的字符 |
p | eg: dip删除一个段落 |
折叠代码
zc
展开代码
zo