Vim是linux中常见的文本编辑器,但它通常被称为古老的神器,因为它对初学者非常不友好,很难开始使用。
然而,对于专业人士来说,vim不仅是为了好玩,而且还是代码开发的主要工具。
为什么?
因为像vs这样的ide体积大,运行速度慢,所以vim是轻量级的,可以在一瞬间建立代码并运行,这是效率爱好者喜欢的一件很棒的事情。
然而,如果它是vim的官方版本,它仍然相当有限,非常不方便。
但是高手就是高手,高手知道如何使用插件。
下面好旭给大家介绍一下老爷常用的3个非常实用的插件。
1. 括号自动补全插件
这个插件叫 Auto Pairs
,它可以自动补全配对的符号,比如:花括号、方括号、圆括号、引号等。这对于我们程序员而言非常有用,因为在代码里我们大量使用到了上述的几种配对符号,如果能自动补全那将很大提高我们的写 bug 效率。
使用这个插件后,当我们敲入一个符号时,会自动补全它的所匹配的另一个符号。比如,我们敲入 [
时,它会自动补全 ]
。当我们删掉 [
时,]
也自动被删除了。
如果我们开启了自动缩进,那么它不仅会在合适的位置补全匹配的符号,还会将光标插入到合适的位置。比如下面这段 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 仓库查看更多用法。但是,以上的这些基本用法就已经可以节约我们很多时间了。
2. 代码块注释插件
作为一个合格的上古神器,Vim 没办法像那些 IDE 一样去注释代码块。但是有了 NERD Commenter
这个插件,我们就可以实现这样的目标。
NERD Commenter 很智能,它可以自动识别代码,并给出对应语言的注释风格。最简单的方法,我们可以在命令模式下通过敲
来快速注释代码块。在这里,键默认是反斜杠 \
键,我们也可以进行自定义。
我们怎么选中多行呢?那就是要在 visual mode (可视化模式)下进行了,这是 Vim 的基本操作了。
还有一个很有用的特性是 Sexy Comment
(性感模式),我们可以使用
来触发。性感模式可以将代码块用很优雅的方式来注释,比如下面这种风格的注释就是性感模式:
package main
import "fmt"
func main() {
/*
* x := true
* items := []string{"tv", "pc", "tablet"}
*
* if x {
* for _, i := range items {
* fmt.Println(i)
* }
* }
*/
}
3. 添加包围符号插件
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