一个非常棒的vim学习平台 VimGenius
vim介绍
-
发展历史 为什么 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基础指令
命令 | 含义 | 备注 |
---|
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。输入完后需要以回车开始执行
|