为什么要用vim
在工作、学习当中不可能每台电脑都安装了可视化效果好的IDE(如vscode、pycharm、eclipse等),但基本上都会安装vim,因此不得不掌握vim编辑方法。
1、vim的基本模式
1)命令模式:输入的内容被解释为命令,例如保存,退出等操作必须在此模式下进行。按Esc进入命令模式。
2)插入模式:输入的内容插入到文件中。命令模型下按i进入插入模式。
3)可视模式:复制,剪切文本内容。命令模式下按v进入可是模式。
忘记在哪种模式下,狂按Esc进入命令模式就行。
2、vim基本使用
通过以下命令启动vim,文件不存在时会自动创建,启动时默认处于命令模式:
vim 文件名
通过方向键移动光标到编辑位置,按i键进入插入模式即可编写内容到文件中。
编辑完成后,按Esc返回命令模式,输入:wq即可保存并退出vim。
如果需求仅仅是基于vim编写简单的文件,对文件做简单的修改,vim学到这也就OK了。
3、vim提升效率的操作
命令模式下:
1、文件打开,保存,退出
命令 | 作用 |
---|---|
:w | 存盘 |
:q! | 不保存退出 |
:bn,:bp | 切换下一个/上一个文件 |
:e filename | 打开另一个文件 |
:x,ZZ,:wq | 保存并退出 |
:saveas filename | 另存为 |
vim filename +100 | 打开文件光标定位到第100行 |
vim filename + /xxx | 打开文件光标定位到匹配的字符串处 |
2、光标的移动
命令 | 作用 |
---|---|
0 | 到本行行头 |
^ | 到本行第一个不是blank字符的位置(blank字符就是空格,tab,换行,回车等) |
$ | 到本行行尾 |
g_ | 到本行最后一个不是blank字符的位置。 |
NG | 到第 N 行,注意G是大写的 |
gg | 到第一行。 |
G | 到最后一行。 |
/xxx | 匹配xxx的字符串,如果搜索出多个匹配,按n键到下一个,N键上一个) |
3、删除,粘贴,撤销
命令 | 作用 |
---|---|
p | 粘贴内容至光标后 |
P | 粘贴内容至光标前 |
x | 删除光标处字符 |
X | 删除光标前字符 |
u | 撤销上一命令 |
dd | 剪切整行内容,达到删除的作用 |
4、替换
命令 | 作用 |
---|---|
:s/xxx/yyy/ | 替换当前行第一个xxx为yyy |
:s/xxx/yyy/g | 替换当前行所有xxx为yyy |
:%s/xxx/yyy/g | 替换文件所有xxx为yyy |
可视模式下:通过方向键选定内容
命令 | 作用 |
---|---|
y | 复制内容 |
c | 剪切内容 |
vim还有很完善的插件生态圈,有兴趣可以自行搜索,如果能给vim配插件还不如用可视化效果好的IDE,它不香吗?