今天编辑器的种类有很多,像Sublime Text、Atom、Notepad++、Emacs、Vim等等,相比于我提到的前几个,Emacs和Vim可以算是古董级别的了吧,但是至今这两个古董依然在被维护,被广大程序员喜爱,并封之为——上古神器!上面提到的这几款编辑器我基本都接触过,其中Emacs是了解最少的,记得有一次在iTerm里输入 emacs
之后,就不知道怎么退出去了,后来好像是在知乎上看到了一个相关的问题,有人评论:请告诉Vim用户如何退出Emacs,我看到之后会心的笑了。不过说起来我还是记住了几个Emacs的快捷键,都还是非常实用的,我下面会提到。现在我平时最常用的编辑器就是Vim了,所以这篇文章就主要聊聊Vim吧。
首先谈谈我自己对Vim的理解:
下面给大家分享一下 我的Vim配置 ,配色使用的是solarized方案的dark模式,底色较深,不刺眼。贴图一张: 喜欢的朋友可以参考我的配置。接下来就说说Vim的配置和常用的插件吧。
说到Vim的配置,内容就太多了,想让Vim适合自己的习惯、用的顺手似乎并不是那么容易,我看到GitHub上有的vimrc配置多达上千行,但是并不一定适合每一个人。我自己的vimrc只有几十行,但是对我来说已经足够了。具体的每项配置,大家可以点击我上面的链接参考。介绍几个实用的插件吧:
:CommandT
命令调出Command-T窗口。 :NERDTree
命令调出。 :Tagbar
命令调出。 Ctrl+p
调出。 以上是我正在用的几个插件的介绍和链接,安装的时候最好参照官方文档的说明,根据自己的需要进行安装和配置,最终你的Vim会越来越顺手。
工具配置好了,现在就该开始使用了。当你使用Vim的时候,就应该抛弃鼠标和方向键,如果配合HHKB键盘那就再合适不过了。在Vim中使用 h,j,k,l
移动光标、 esc,O,o,a,i
切换普通模式和插入模式是最最基础的事情了,我再介绍一些稍微高级一点的比较常用的命令:
%
键可以在配对的括号之间跳转。 #
或 *
键可以 向下 或 向上 搜索这个单词。 Ctrl+]
可以跳转到光标所在符号的定义,使用 Ctrl+t
可以回到跳转前的位置。 0
可以跳转到光标所在行的 行头 , $
可以跳转到 行尾 。 gg
跳转到 第一行 , G
跳转到最 后一行 , :N
可以跳转到 第N行 。 w
光标移动到下一个单词的 开头 , e
移动到下一个单词的 结尾 。 d
删除, dd
删除一行, dw
删除一个单词, y
复制, p
粘贴。 r
替换光标所在的字符, cw
删除一个单词并进入插入模式。 f
在当前行查找指定字符,如 fw
、 f=
分别可以查找字符’w’和’=’。 t
光标定位到当前行指定字符前,如 ta
、 t(
分别可以定位光标到字符’a’和’(‘之前。 /pattern
或 ?pattern
分别可以向下或向上查找指定的内容。 u
撤销, Ctrl+r
重做。 =
可以对选中的代码进行格式化,比如输入 gg=G
则会格式化全部代码,十分方便。 d2w
会删除两个单词, yt;
会拷贝光标到分号之间的内容。 上面只是一些相对常用的命令,其实Vim还有相当多的功能,我也还在学习使用当中,当用熟Vim之后,在其他没有Vim模式的编辑器里编辑什么东西时,会感到无比别扭,比如会无意识的去按 esc
,然后突然发现这是一张网页里的文本框,然后脸一黑:flushed:。
有没有想过像控制Vim一样控制你的浏览器,有没有想过脱离鼠标浏览网页,那可是相当的极客范。这里推荐一款Chrome插件——cVim,之前我使用过Vimium,但是Vimium只是支持了少数的Vim快捷键,而cVim可以说是Vimium的加强版,提供了更多的功能并且可定制性更强,包括控制标签页、书签栏检索等等,还能像在Vim中一样使用 /pattern
来搜索网页中的内容,有没有心动呢?需要的小伙伴赶快去Chrome Store下载吧。
这是一篇关于Vim的文章,可是为什么要介绍Emacs的快捷键呢?原因很简单:因为真的很好用啊喂!
快捷键 | 作用 |
---|---|
Ctrl+a | 光标移动到行首 |
Ctrl+e | 光标移动到行尾 |
Ctrl+f | 光标向前移动一个字符 |
Ctrl+b | 光标向后移动一个字符 |
Ctrl+p | 光标向上移动一行 |
Ctrl+n | 光标向下移动一行 |
Ctrl+o | 在当前行之后新增一行 |
Ctrl+k | 从光标处删除到行尾 |
上面这些快捷键,基本在 任何 可以进行文本输入的地方都能使用,比如 浏览器地址栏 、 Chrome控制台 、 iTerm 、 Terminal 、 网页中的文本框 等等等等。一致性体验非常好,用熟了之后真的就离不开了呢。