一个非常棒的vim学习平台 VimGenius
vim介绍
-
个人理解 vim首先是一款文本编辑器,其次才是所谓的“编辑器之神”。如果你不是做内核开发等,只是应用层开发程序员,(比如笔者作为android应用开发),那么vim对于我们来说仅仅是一款文本编辑器而已,和基于GUI的各种编辑软件没有多少区别,甚至可以说更难用。。
-
但是,当你对一个事物表示轻视时,你就永远失去了学习它的机会。vim具有非常强大的拓展性,通过加装插件和更改配置,能实现自定义的IDE。这些能力对于某些领域的开发人员,是宛如神明的效率提升。例子 神之代码编辑器vim_V1 - 知乎
vim配置
具体实践to do。仅给一些例子
mac版本 mac下配置vim - 简书
windows版本 在Windows中安装vim - Eric鞠 - 博客园
linux版本 vm怎么装vim_Linux入门总结——虚拟机安装配置以及vim简单操作_weixin_39932762的博客-CSDN博客
vim基础指令
-
我相信任何小白程序员(包括笔者本人)第一次看到这个图都会肃然起敬,一个文本编辑器能复杂到这种程度是不是有点丧心病狂。
-
但好在如果你和我一样只是需要用vim改改配置文件,那还是很容易的~
命令 | 含义 | 备注 |
---|---|---|
h | 移动光标-向左 | |
l | 移动光标-向右 | |
j | 移动光标-向下 | |
k | 移动光标-向上 | |
:q | 关闭文件,同时保存所有修改 | |
:q! | 关闭文件,不保存任何修改 | |
:w | 保存当前的所有修改 | |
i | 在光标当前位置插入字符 | |
I | 在光标所在行,行首位置插入字符 | |
a | 在光标当前位置的下一位插入字符 | |
A | 在光标所在行,行末位置插入字符 | |
o | 在光标所在的下一行处开始输入新的一行 | |
O | 在光标所在的上一行处开始输入新的一行 | |
r | 取代光标所在的那一个字符一次 | |
R | 持续取代光标所在的文字,直达按下ESC | |
<ESC> or ctrl + [ | 退出编辑模式 | 有关模式的概念见下文 |
x | 删除光标后一个字符,等价于DEL | |
X | 删除光标前一个字符,等价于Backspace | |
:wq | 保存修改并关闭文件 | 这个或许是小白最常用的 |
相信我,如果正在看这篇文章的你是为了修改某个配置文件中的属性,上面这些指令就足够了!别往下看了,这只会给你的心灵带来不必要的创伤~
命令 | 含义 | 备注 |
---|---|---|
w | 将光标移动到下一个单词 | |
$ | 将光标移动到当前行的文本部分的末尾 | |
^ | 将光标移动到当前行的文本部分的开始 | |
0 | 将光标移动到当前行的开始 | 注意是数字零 |
[Ctrl] + [f] | 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用) | |
[Ctrl] + [b] | 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用) | |
gg | 将光标移动到当前文件的第一行 | |
G | 将光标移动到当前文件的最后一行 | |
nG | 将光标移动到当前文件的第n行 | |
n<Enter> | 将光标向下移动n行 | |
/word | 从光标当前位置向下,在本文件中寻找字符串word | |
?word | 从光标当前位置向上,在本文件中寻找字符串word | |
n | 重复前一个搜寻的动作 | |
N | 『反向』进行前一个搜寻动作 | |
%s/word1/word2/g | 在本文件中寻找 word1 字符串,并将该字符串替换为 word2 | |
%s/word1/word2/gc | 效果同上,但在替换时允许用户确认是否需要替换 | |
dd | 删除光标所在的整行 | |
ndd | 删除光标所在的行向下的n行 | |
yy | 复制光标所在的整行 | |
nyy | 复制光标所在的行向下的n行 | |
p | 在光标所在行的下一行行首开始,粘贴复制的内容 | |
P | 在光标所在行的上一行末尾开始,粘贴复制的内容 | |
. | 重复上一个操作 | 就是小数点 |
事实上,第二个表格中的指令也只是vim指令的沧海一粟,但如果能熟练使用上面这些指令,对文本的操作基本上可以脱离鼠标了~
参考博客 vim常用命令总结 - 陈亚 - 博客园
vim模式
这里只是对模式进行知其然的解释,至于为啥创造这些模式,自己去STFM吧(如果这个词不知道是啥意思,可以搜搜看)
-
正常打开一个文件就是命令模式,该模式只能浏览、查找,不能修改内容,这也是新人入门时最难以适应的一点
-
输入插入含义的指令,能进入编辑模式,对内容进行修改,退出需要ESC
-
底线命令模式是运行非编辑的其他指令,比如编辑完内容后退出文件,就先输入:,然后光标会移动到最后一行并显示一个:,之后像命令行一样输入指令即可,比如wq。输入完后需要以回车开始执行