作为一个VIM初学者,vim给我的感觉就是命令多而且活,比bash还要难掌握。正所谓”工欲善其事,必先利其器“,且学习vim也是后期工程化的需要,所以它是必须跨过的大山,不会用命令的程序员不是好程序员。经过基础和进阶的学习我做了一些总结。
Vim the Six Billion Dollar editor
Better, Stronger, Faster
传说中的学习vim四步骤:
- 存活
- 感觉良好
- 觉得更好,更强,更快
- 使用VIM的超能力 :)
启动vim
在命令行窗口输入:
vim
进入vim
vim xxx
打开vim并创建名为xxx的文件
退出vim方式
-
在插入模式下,先按ESE到normal模式:
-
:wq
保存退出 -
:q
直接退出 -
!q
强制退出
-
-
在normal模式下,直接按功能键:
-
X
仅仅保存 -
ZZ
不需要输入:直接保存退出
vim的模式
- 输入
i
进入插入模式 - 按
ESE
退出当前模式,进入normal模式
移动命令
H J K L --左、下、上、右
G --跳转到最后一行
50G --移动到50行
gg --跳转到第一行
w --跳转到下一个单词开头
e --下一个单词结尾
0 --数字0,到行头
$ --到行尾
^ --到第一个不是blank字符的位置(所谓blank就是指tab、空格、换行、回车等)
g --到本行最后一个不是blank字符的位置
编辑命令
i --在光标前插入文本
A --在一行后添加文本
dw --从光标处删除到下一个单词起始处,不包括第一个字符
de --从当前位置到单词末尾,包括最后一个字符
dd --删除本行,在功能键前加数字可删除多行,例如:5dd 删除5行
r --替换当前位置的字符
O --在本行的上方插入新的一行
o --小写字母,在本行下方插入新的一行
a --在光标所在位置之后插入文本
A --在光标所在行位置之后插入文本
y --复制
p --粘贴,可搭配数字使用,例如3p表示粘贴文本3次
开挂命令
-
100iabc[ESE]
界面会打出100个abc -
.
可重复上一次命令,例如100”abc“.表示重复再打100个abc -
3.
重复三次abc -
ctrl-w
窗口调转 -
ctrl-D
查看可能补全的结果 -
Tab
使用当前补全 -
%
匹配括号移动,包括(、{、[,需要先把光标移到括号上 -
ra
将当前字符替换为a,当期字符即光标所在字符。 -
s/old/new/
用old替换new,替换当前行的第一个匹配 -
s/old/new/g
用old替换new,替换当前行的所有匹配 -
v
可视化选择,可搭配p、y命令实现自定义内容拷贝粘贴 -
gU
变大写 -
gu
变小写 -
:split或:new
打开一个新窗口,光标停在顶层的窗口上 -
:split file或:new file
用新窗口打开文件 -
split
打开的窗口都是横向的,使用vsplit
可以纵向打开窗口。
结束语
- 注意大小写。有些命令是在normal下输入的,我们把它叫做功能键。有一些是在插入模式下输入的,所有带
:
的命令都在插入模式输入。注意区别。 - 上面是我学习的一些常用的命令,其中有些命令是可以搭配组合的,需要自己去尝试,可以在shell输入
vim tutor
,学习官方的文档。vim和bash一样都需要熟能生巧,学完这两个以后可以开始做很多事了。下一篇再来说说,我用它们做了一些什么有意思的事儿。 - 以上如果有什么错误,欢迎留言。
网友评论