编辑器简述今天编辑器的种类有很多,像Sublime Text、Atom、Notepad++、Emacs、Vim等等,相比于我提到的前几个,Emacs和Vim可以算是古董级别的了吧,但是至今这两个古董依然在被维护,被广大程序员喜爱,并封之为——上古神器!上面提到的这几款编辑器我基本都接触过,其中Emacs是了解最少的,记得有一次在iTerm里输入emacs 之后,就不知道怎么退出去了,后来好像是在知乎上看到了一个相关的问题,有人评论:请告诉Vim用户如何退出Emacs,我看到之后会心的笑了。不过说起来我还是记住了几个Emacs的快捷键,都还是非常实用的,我下面会提到。现在我平时最常用的编辑器就是Vim了,所以这篇文章就主要聊聊Vim吧。 加入Vim阵营首先谈谈我自己对Vim的理解: - Vim是工具,工具存在的意义在于帮助人们更高效的完成工作。
- Vim是一种语言,就像Java,Python一样,为VimL脚本语言。
- Vim需要配合插件,没有插件的Vim真的很难用。
- Vim不是IDE,另外最好也不要使用Vim作为Java开发的主要工具,谁用谁怀孕。
下面给大家分享一下 我的Vim配置 ,配色使用的是solarized方案的dark模式,底色较深,不刺眼。贴图一张: 喜欢的朋友可以参考我的配置。接下来就说说Vim的配置和常用的插件吧。 Vim配置与常用插件说到Vim的配置,内容就太多了,想让Vim适合自己的习惯、用的顺手似乎并不是那么容易,我看到GitHub上有的vimrc配置多达上千行,但是并不一定适合每一个人。我自己的vimrc只有几十行,但是对我来说已经足够了。具体的每项配置,大家可以点击我上面的链接参考。介绍几个实用的插件吧: - Vundle :管理插件的插件,基于git的方式,很方便也很现代。
- command-t :快速导航文件,使用
:CommandT 命令调出Command-T窗口。 - NerdTree :树形目录插件,使用
:NERDTree 命令调出。 - Tagbar :显示变量、类定义、函数列表等的插件,使用
:Tagbar 命令调出。 - vim-airline :Vim状态栏美化,在不同的模式下有不同的颜色。
- vim-airline-themes :这个是vim-airline插件的主题,不过由于主题越来越丰富,作者把主题模块独立创建了一个仓库,所以如果你想使用不同的主题的话,就需要添加这个插件。
- ultisnips :代码片段补全插件。
- ctrlp :快速找到项目中的文件,使用
Ctrl+p 调出。 - auto-pairs :自动配对括号、引号等。
- YouCompleteMe :强大的自动补全插件,支持多种语言。
- Emmet :快速编写HTML的插件。
- vim-indent-guides :显示缩进的对齐线,对于Python这种语言十分有用。
以上是我正在用的几个插件的介绍和链接,安装的时候最好参照官方文档的说明,根据自己的需要进行安装和配置,最终你的Vim会越来越顺手。 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有没有想过像控制Vim一样控制你的浏览器,有没有想过脱离鼠标浏览网页,那可是相当的极客范。这里推荐一款Chrome插件——cVim,之前我使用过Vimium,但是Vimium只是支持了少数的Vim快捷键,而cVim可以说是Vimium的加强版,提供了更多的功能并且可定制性更强,包括控制标签页、书签栏检索等等,还能像在Vim中一样使用 /pattern 来搜索网页中的内容,有没有心动呢?需要的小伙伴赶快去Chrome Store下载吧。 Emacs系快捷键这是一篇关于Vim的文章,可是为什么要介绍Emacs的快捷键呢?原因很简单:因为真的很好用啊喂! | 快捷键 | 作用 |
|---|
| Ctrl+a | 光标移动到行首 | | Ctrl+e | 光标移动到行尾 | | Ctrl+f | 光标向前移动一个字符 | | Ctrl+b | 光标向后移动一个字符 | | Ctrl+p | 光标向上移动一行 | | Ctrl+n | 光标向下移动一行 | | Ctrl+o | 在当前行之后新增一行 | | Ctrl+k | 从光标处删除到行尾 |
上面这些快捷键,基本在 任何 可以进行文本输入的地方都能使用,比如 浏览器地址栏 、 Chrome控制台 、 iTerm 、 Terminal 、 网页中的文本框 等等等等。一致性体验非常好,用熟了之后真的就离不开了呢。 |