Vim 是 Linux 下的经常使用文本编辑器,但也常常被称为是一个上古神器,由于它对于初学者而言至关不友好,也很差入门。 |
可是,对于高手而言,他们不只将 Vim 玩得很溜,并且还将它看成代码开发的主要工具。为何?由于 VS 等 IDE 比较庞大,运行起来比较慢,而 Vim 就至关轻量了,瞬间就能打开代码并开始工做,这对于追求效率的高手而言天然是爱不释手。html
可是,若是是官方版的 Vim ,依然是局限性至关大,十分不方便。可是高手毕竟是高手,高手懂得使用插件。下面良许就介绍高手经常使用的 3 个很实用的插件。linux
一、括号自动补全插件程序员
这个插件叫 Auto Pairs ,它能够自动补全配对的符号,好比:花括号、方括号、圆括号、引号等。这对于咱们程序员而言很是有用,由于在代码里咱们大量使用到了上述的几种配对符号,若是能自动补全那将很大提升咱们的写 bug 效率。vim
使用这个插件后,当咱们敲入一个符号时,会自动补全它的所匹配的另外一个符号。好比,咱们敲入 [ 时,它会自动补全 ] 。当咱们删掉 [ 时,] 也自动被删除了。编辑器
若是咱们开启了自动缩进,那么它不只会在合适的位置补全匹配的符号,还会将光标插入到合适的位置。好比下面这段 Go 代码:工具
package main import "fmt" func main() { x := true items := []string{"tv", "pc", "tablet"} if x { for _, i := range items } } 如今,我在倒数第 3 行 items 后面插入一个花括号 { ,而后敲一下回车,咱们就获得这样的结果: package main import "fmt" func main() { x := true items := []string{"tv", "pc", "tablet"} if x { for _, i := range items { | (光标在这里了) } } }
固然 Auto Pairs 还提供了不少选项,咱们能够在它的 Github 仓库查看更多用法。可是,以上的这些基本用法就已经能够节约咱们不少时间了。插件
二、代码块注释插件htm
做为一个合格的上古神器,Vim 没办法像那些 IDE 同样去注释代码块。可是有了 NERD Commenter 这个插件,咱们就能够实现这样的目标。开发
NERD Commenter 很智能,它能够自动识别代码,并给出对应语言的注释风格。最简单的方法,咱们能够在命令模式下经过敲 +空格 来快速注释代码块。在这里,键默认是反斜杠 键,咱们也能够进行自定义。get
咱们怎么选中多行呢?那就是要在 visual mode (可视化模式)下进行了,这是 Vim 的基本操做了。
还有一个颇有用的特性是 Sexy Comment (性感模式),咱们可使用 +cs 来触发。性感模式能够将代码块用很优雅的方式来注释,好比下面这种风格的注释就是性感模式:
package main import "fmt" func main() { /* * x := true * items := []string{"tv", "pc", "tablet"} * * if x { * for _, i := range items { * fmt.Println(i) * } * } */ }
三、添加包围符号插件
Vim Surround 插件堪称是一个大杀器,由于它能够将现有的代码添加成对包围符号。好比咱们如今有这么一句代码:
"Vim plugins are awesome !" 若是咱们想把引号去掉,只需敲 ds" 便可: Vim plugins are awesome ! 若是咱们想将双引号改为单引号,咱们能够敲 cs"': 'Vim plugins are awesome !' 想要换成其它符号也是同样的道理。不只如此,它还对 HTML 或 XML 标记语言支持很是好。好比有这么一句 HTML 语句:
Vim plugins are awesome !
如今咱们想要加粗 awesome 这个词,咱们能够将光标放在这个单词上,而后敲 ysiw ,它就会自动添加标记:
Vim plugins are awesome !
Vim Surround 还能够以锯齿的方式,在语句的上下方添加包围符号,并将当前语句自动缩进。好比咱们想在上面那条代码添加标签,咱们能够敲 ySS
:
Vim plugins are awesome !
一样地,它的功能不只于此,咱们能够进它的 Github 仓库查看更多强大的功能。
小结
以上 3 个 Vim 插件,熟练使用的话将为咱们节约不少时间,并且用起来也很是顺手,能够提升咱们的效率。固然 Vim 社区里还有很是多大牛开发的颇有用的插件,后续良许也会再推送一些好玩的插件,敬请期待!