给你的Vim加个速

作者: Leon_Geo | 来源:发表于2019-06-27 09:46 被阅读5次

    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 很智能,它可以自动识别代码,并给出对应语言的注释风格。最简单的方法,我们可以在命令模式下通过敲 <Leader> +空格 来快速注释代码块。在这里,键默认是反斜杠 \ 键,我们也可以进行自定义。

    我们怎么选中多行呢?那就是要在visual mode(可视化模式)下进行了,这是Vim的基本操作了。

    还有一个很有用的特性是 Sexy Comment (性感模式),我们可以使用 <Leader>+cs 来触发。性感模式可以将代码块用很优雅的方式来注释,比如下面这种风格的注释就是性感模式:

    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 语句:

    <p>Vim plugins are awesome !</p>
    

    现在我们想要加粗 awesome 这个词,我们可以将光标放在这个单词上,然后敲 ysiw<em> ,它就会自动添加标记:

    <p>Vim plugins are <em>awesome</em> !</p>
    

    Vim Surround 还可以以锯齿的方式,在语句的上下方添加包围符号,并将当前语句自动缩进。比如我们想在上面那条代码添加标签,我们可以敲 ySS<div class="normal"> :

    <div class="normal">
            <p>Vim plugins are <em>awesome</em> !</p>
    </div>
    

    同样地,它的功能不仅于此,我们可以进它的 Github 仓库查看更多强大的功能。

    小结

    以上 3 个 Vim 插件,熟练使用的话将为我们节约很多时间,而且用起来也非常顺手,可以提高我们的效率。当然 Vim 社区里还有非常多大牛开发的很有用的插件,后续良许也会再推送一些好玩的插件,敬请期待!

    相关文章

      网友评论

        本文标题:给你的Vim加个速

        本文链接:https://www.haomeiwen.com/subject/ruhlcctx.html