vim命令模式
- 普通模式(默认,其他模式按
esc
返回) - 命令行模式(按
:
进入) - 插入模式(按
a
或者i
进入)
基本命令
进入文件 vim fileName
进入插入模式方法
| 命令 | 说明 |
| —- | —————————————- |
|i
| 在当前光标处进行编辑 |
|I
| 在行首插入 |
|A
| 在行末插入 |
|a
| 在光标后插入编辑 |
|o
| 在当前行后插入一个新行 |
|O
| 在当前行前插入一个新行 |
|cw
| 替换从光标所在位置后到一个单词结尾的字符 |退出
- 普通模式下退出vim输入shift+zz即可保存退出vim
- 命令行模式:wq——保存并退出
- :q!强制退出
- :q退出
- :w <文件路径> :saveas 文件路径 另存为
- :x保存并退出
vim文档编辑
vim重复命令——
- 普通模式下
.
表示重复上一次的命令操作 - 普通模式,输入
N<command>
,N表示重复后面的次数10x
——删除10个连续字符3dd
——删除3行文本.
——重复上一次的命令(例:重复3dd)dw或者daw(delete a word)
——删除一个单词dnw(n替换为相应数字)
——表示删除n个单词
- 普通模式下
跳转命令
行间跳转
- :set nu——显示行号
- nG(n shift+g) ——移动到第n行
- gg——移动到第一行
- G——到最后一行
小技巧:在完成依次跳转后,可以使用Ctrl+o快速回到上一次(跳转前)光标所在位置
行内跳转
复制粘贴
- 使用y复制
- yy——复制整行
- 3yy——复制3行
- y^复制至行首,或者y0。(不含光标所在处字符)
- y$复制至行尾。含光标所在处字符。
- yw——复制一个单词
- y2w——复制2个单词
- yG——复制至文本末
- y1G复制至文本开头
- 使用p粘贴
- p小写粘贴至光标后(下)
- p大写粘贴至光标前(上)
- 使用dd剪切
- ddp快速交换上下行
- 使用y复制
查找替换
字符替换命令
| 命令 | 说明 |
| —————- | ——————————————– |
|r
+<待替换字母> | 将游标所在字母替换为指定字母 |
|R
| 连续替换,直到按下Esc
|
|cc
| 替换整行,即删除游标所在行,并进入插入模式 |
|cw
| 替换一个单词,即删除一个单词,并进入插入模式 |
|C
(大写) | 替换游标以后至行末 |
|~
| 反转游标所在字母大小写 |
|u
{n} | 撤销一次或n次操作 |
|U
(大写) | 撤销当前行的所有修改 |
|Ctrl+r
| redo,即撤销undo的操作 |字符查找命令
- f+keyword ——查找
- 普通模式下输入
/icmp
然后回车即可查找字符串icmp
- 普通模式下输入
n
查找下一个icmp
- 普通模式下输入
?tcp
向上查找字符串tcp
- 普通模式下输入
N
查找上一个出现的tcp
- 命令行模式下输入
noh
然后回车即可取消搜索 - 普通模式下输入
\*
寻找游标所在处的单词 - 普通模式下输入
\#
同上,但\#
是向前(上)找,\*
则是向后(下)找 - 普通模式下输入
g\*
同\*
,但部分符合该单词即可 - 普通模式下输入
g\#
同\#
,但部分符合该单词即可
以上查找
n
,N
的继续查找命令依然可以用shiftwidth命令
- :set shiftwidth?——获取目前设置的缩进值
- :set shiftwidth=10——设置缩进为10个字符
调整文本位置
- :ce——本行内容居中
- :ri——本行内容靠右
- :le——本行内容靠左