用vim快两年了,但是直到最近才真正将vim的全部用法看完,并自己认真实践了一下,下面是我总结出的vim用法,与君分享。
Vim常用功能总结
- 打开文件
1) vim filename :打开filename文件。
2) vim + # filename : #号代表任意非负整数,打开文件filename,并跳至#行。
3) vim + filename :打开文件filename,并跳至最后一行。
4) vim + /pattern :打开文件并定位至第一次被pattern匹配的行。 - 编辑文件、
- vim模式
- 编辑模式
- 输入模式
- 末行模式
- vim模式转换
- 编辑 –> 输入
i: 在当前光标前,转为输入模式。
a: 在当前光标所在字符后,转换为输入模式。
o: 在当前光标下一行,新建一行,并转为输入模式。
I: 在当前光标所在行首,并转为输入模式。
A: 在当前所在行行尾,转为输入模式。
O:在当前所在行的上一行,新建一行,并转为输入模式。 - 输入–>编辑
ESC键 - 编辑 –>末行
冒号(:) - 末行 –>编辑
ESC键(可能需要按多次)
- 编辑 –> 输入
- 移动光标
- 按字符移动
h:向左
l:向右
k:向上
j:向下
#h:#代表任意非负整数,向左移动#个字符
#l:向右移动#个字符
#k:向上移动#个字符
#j:向下移动#个字符 - 按单词移动
w:移至下一个词词首
e:跳至下一个词或当前词词尾
b:跳至当前词或前一个词词首
#w:一次跳#个词,功能同上
#e:一次跳#个词,功能同上
#b:一次跳#个词,功能同上 - 行内跳转
0:跳至行首
^:跳至当前行首个词词首
$:跳至当前行行尾 - 行间跳转
#G:跳转至第#行
G:跳转至最后一行
末行模式:直接指定行号 - 翻屏
Ctrl + f:向下翻一屏
Ctrl + b:向上翻一屏
Ctrl + d:向下翻半屏
Ctrl + u:向上翻半屏
- 按字符移动
- 删除字符
- 删除单个字符
x:删除光标所在处单个字符
#x:删除光标所在处及其后的#个字符 - 删除行
- 编辑模式
d命令跟跳转命令组合使用
#dw:删除光标后#个单词
#de:删除光标后#个单词
#db:删除光标前#个单词
dd:删除当前行
#dd:删除光标所在行,及其后的#-1行 - 末行模式:
start,end d:删除start开始至end结束的行
.:当前行(光标所在行)
$:最后一行
+#:向下#行
-#:向上#行
- 编辑模式
- 删除单个字符
- 复制
yy:复制当前行。
#yy:复制当前行,及其后的#行。 - 粘贴
p:如果删除或者复制的是整行,则粘贴至当前行的下一行,否则粘贴至当前光标后
P:如果删除或者复制的是整行,则粘贴至当前行的上一行,否则粘贴至当前光标前 - 修改
c命令跟跳转命令组合使用,
#cw:删除光标后#个单词后,转为插入模式
#ce:删除光标后#个单词后,转为插入模式
#cb:删除光标前#个单词后,转为插入模式 - 替换
r#:将当前光标所在字符替换为#
#r@:将当前光标后#个字符依次替换为@
R:进入替换模式 - 撤销
u:撤销前一次操作,连续u可以连续撤销前n次操作,最多可以撤销50次
#u:撤销前#次编辑操作
Ctrl + r:还原前面的撤销操作
- vim模式
- 关闭文件
- 末行模式
q:不保存退出
wq:保存退出
q!:强制不保存退出
w!:强制保存
X:保存退出 - 编辑模式
ZZ:保存退出
- 末行模式
- 可视模式
v:按字符选取
V:按矩形框选取 - 查找
/PATTERN 从上往下查找
?PATTERN 从下往上查找
n:从上往下跳转
N:从下往上跳转 - 查找并替换
- 末行模式:
start,end s@Pattern@string@g/i 用法类似sed
- 末行模式: