一、插入文本
常用的,当然是i,但是如果只用i,那就太土鳖了,记住i、o、a即可,
当然大小写,一般区分前后的概念,这个是vim在设计各类指令的原则。
命令 | 执行的操作 |
---|
i | 在光标的左侧插入字符 |
I | 在行首插入字符 |
a | 在光标的右侧添加文本 |
A | 在行尾添加文本 |
o | 在当前行下面插入一空行 |
O | 在当前行上面插入一空行 |
下面还有几个常用的设置:
命令 | 执行的操作 |
---|
:set showmode | 当vi处在输入模式下时显示提示信息 |
:set sm | 即时显示配对的)或} |
:set ts=n | 把制表符设置为n(默认为8) |
:set ai | 下一行从前一行的缩进位置开始(这个在写代码时比较有用) |
二. 查找
命令 | 执行的操作 |
---|
/xxx(?xxx) | 表示在整篇文档中搜索匹配xxx的字符串, / 表示向下查找, ? 表示向上查找. |
*(#) | 当光标停留在某个单词上时,输入这条命令表示查找与该单词匹配的下(上)一个单词. 同样, 再输入 n 查找下一个匹配处, 输入 N 反方向查找. |
三. 移动光标
命令 | 执行的操作 |
---|
w(e) | 移动光标到下一个单词. |
b | 移动光标到上一个单词. |
0 | 移动光标到本行最开头. |
^ | 移动光标到本行最开头的字符处. |
$ | 移动光标到本行结尾处. |
H | 移动光标到屏幕的首行. |
M | 移动光标到屏幕的中间一行. |
L | 移动光标到屏幕的尾行. |
gg | 移动光标到文档首行. |
G | 移动光标到文档尾行. |
c-f | (即 ctrl 键与 f 键一同按下) 本命令即 page down. |
c-b | (即 ctrl 键与 b 键一同按下, 后同) 本命令即 page up. |
四、删除文本
命令 | 执行的操作 |
---|
x | 删除光标所在的字符 |
6x | 删除光标位置的字符以及右侧的5个字符 |
X | 删除前一个字符 |
dd | 删除当前行 |
4dd | 删除4行 |
64dd | 删除64行 |
dw | 删除一个单词 |
d0 | 删除到行首 |
d$ | 删除到行尾 |
d | 删除一个区域(只用于vim) |
五、替换文本
命令 | 执行的操作 |
---|
rch | 把光标位置的字符替换为ch |
R | 替换光标右边的文本 |
s | 把光标所在的字符替换为任意个字符 |
S | 替换整行内容 |
cw | 修改一个单词 |
c | 修改区域里的文本(vim) |
~ | 改变所扫描的或区域里的字母的大小写 |
!tr’[a-z]’’[A-Z]' | 把区域里的字母转换为大写(vim) |
!tr’[A-Z]’’[a-z]' | 把区域里的字母转换为小写(vim) |
六、复制粘贴文本
命令 | 执行的操作 |
---|
yy | 复制当前行 |
6yy | 复制六行 |
yw | 复制单词 |
y | 复制区域(vim) |
p | 把复制的文本粘贴到右边或下面 |
P | 把复制的文本粘贴到左边或上面 |
“ayy | 把当前行复制到缓冲区a里 |
“ap | 恢复缓冲区a里的内容 |
最后一次修改于 2018-11-29