最后更新于 .

前天在www.vim.org上闲逛,偶尔发现了auto.vim这款插件,发现短短一个星期下载量就达到了327,评价也是145/51。

script karma    Rating 145/51, Downloaded by 327

遂很好奇效果如何,于是下载下来试了一下,我这里演示一下我比较喜欢的几个特性.

1

其实主要是两个部分,1个是对于<=、>=、<<之类这种符号自动在两边补上空格,其对一定的实现代码如下:

ino <= <space><=<space>
ino *= <space>*=<space>
ino /= <space>/=<space>
ino >> <space>>><space>
ino << <space><<<space>
ino >= <space>>=<space>
ino == <space>==<space>
ino += <space>+=<space>
ino && <space>&&<space>
ino != <space>!=<space>

这样的确能帮助我们把代码变得更加美观,但是随之而来的缺点也比较明显,即拿<=为例,但你输入了<之后,vim会认为你还需要输入一个键,所以会等在那里,当然这其实也不是一个什么大不了的事情。 对于第二个部分即其中对于空格的演示,大家可能对space都会有自己的映射,我看到有的同学映射的是"/",而笔者本人映射的是CTRL+D(懒得时候可以只用一只手,哈哈),auto.vim中对space的映射如下:

nm<Space> i <Esc>l

即在normal模式下,按下空格键相当于先按下i进入插入模式,然后按下空格键,然后ESC,然后按下l 不过个人觉得这样写会更好一些,纯属个人看法~~

nm<Space> i<space><Esc>l

OK,就是一些小cookie,大家可以自己拿来玩一下。

Pingbacks

Pingbacks已打开。

Trackbacks

引用地址

评论

  1. 梧桐

    梧桐 on #

    感觉还是像vs里面那样在换行的时候自动在==左右加空格比较爽

    Reply

    1. Dante

      Dante on #

      应该也是能实现的,不过那样的话光标需要先移动到上一行去操作,可能会拖慢编辑速度~~

      Reply

      1. 依云

        依云 on #

        像这种操作就应该用 setline() 了。

        Reply

  2. NIX

    NIX on #

    哥哥这张图片如何生成?有没有教程?
    (录像、导出gif?)

    Reply

    1. Dante

      Dante on #

      Gif·gIf·giF 这个软件~google一下就知道啦,很简单~

      Reply

      1. 依云

        依云 on #

        Linux 下可用 byzanz 录制 GIF 动画

        Reply

        1. NIX

          NIX on #

          默认在Linux下,谢谢依云。

          Reply

          1. o(∩∩)o...哈哈

            o(∩∩)o...哈哈 on #

            ls两位我认识,我是有子。o(∩∩)o...哈哈

            Reply

  3. xlii

    xlii on #

    http://aur.archlinux.org/packages.php?ID=37931&amp;detail=0

    It would be good to display your key keystrokes in
    the screencast.

    Reply

    1. 依云

      依云 on #

      It would be good but I resulted in ImportError...

      Reply

  4. 宇文高下

    宇文高下 on #

    谢谢您的关注

    Reply

    1. Dante

      Dante on #

      哈哈,插件写的很不错,加油!~

      Reply

      1. 宇文高下

        宇文高下 on #

        很感谢,我那个基本上谈不上插件,我只想节约下程序员的时间,呵呵,彼此加油

        Reply

  5. 雨碎江南

    雨碎江南 on #

    不错...省去了很多调整代码格式的时间~

    Reply

  6. kadyz

    kadyz on #

    强烈建议不要过多使用写代码的自动化工具,曾经一直在VC上使用visual assist插件,之后因为工作需要换到UE上编程,突然发现离开了插件写代码异常慢,看到其他程序员飞一般的敲代码速度,危机感很大啊。
    所以,可以使用一些方便看代码和管理代码的插件,但是写代码,还是老老实实敲吧,优秀的程序员必备的技能之一就是快速的编码能力,他们纯敲代码的速度一点不会比使用这些插件慢。而这些插件只会让人产生依赖性。而楼上说的调整代码格式的时间只是不好的编码习惯带来的。

    Reply

    1. Dante

      Dante on #

      古语云,工欲善其事,必先利其器。个人认为出色的工具是必要的,这也是为什么记事本也可以写代码但是却基本没人用的原因。
      其实kadyz说的工具可能会换的情况,我倒是觉得是因为VC不跨平台的原因,而这也恰恰是我最终选了vim的原因之一。
      个人意见,希望莫怪。

      Reply

  7. nonomori

    nonomori on #

    整个插件就是inoremap集合呀. 不错的. 挺实用.
    iw

    Reply

    1. Dante

      Dante on #

      是呀,细节之处也是很能提高效率滴~

      Reply

  8. AAT

    AAT on #

    可惜only for linux

    Reply

    1. Dante

      Dante on #

      ?不会呀,win下也可以用呀

      Reply

      1. AAT

        AAT on #

        里面有调用linux下的命令 :
        "!clear;./%/dev/null &amp;&amp; rm -f %&lt;&quot;

        Reply

        1. Dante

          Dante on #

          哦,我精简了其他的功能,只用了自动增加空格的特性

          Reply

  9. AAT

    AAT on #

    不过在linux下使用的确方便

    Reply

  10. guojing

    guojing on #

    还是不太习惯用插件啊,vi我就拿着当可高亮的记事本用。。

    Reply

  11. Renkai

    Renkai on #

    我是个C++初学者,我很喜欢vim,想请问一下,想自己写插件的话可以去哪里学习?也就是.vimrc用的是什么语言?另外,这个auto.vim插件的F2和mm编译以及debug好像不管用的如果编译错误的话,只是返回一个shell 127这样的错误号,不返回error和warn的,但是我用c.vim插件的快捷键编译时就像ide里那样返回error和warn并且打开了quickfix。不知何故,我的系统是ubuntu10.10,vim7.2

    Reply

    1. Renkai

      Renkai on #

      还有一个问题……怎么样能在你的博客里有一个头像啊?

      Reply

      1. Dante

        Dante on #

        是有一个全球头像统一存储的网站的,与邮箱绑定,可以google一下

        Reply

    2. Dante

      Dante on #

      可以直接在vim中help script,对于auto.vim的报错问题我没有深入用过,不过我博客有介绍一键编译,我在手机上没法贴地址,可以搜索一下

      Reply

  12. hello

    hello on #

    Linux下一键编译正常呀

    Reply

  13. 小新

    小新 on #

    snipMate.vim - http://www.vim.org/scripts/script.php?script_id=2540

    这个插件也是不错的!跟你这个很像~

    Reply

    1. Dante

      Dante on #

      呵呵,这个插件我一直在用啊,参见:
      本博使用的vim插件列表
      http://www.vimer.cn/2010/06/%E6%9C%AC%E5%8D%9A%E4%BD%BF%E7%94%A8%E7%9A%84vimgvim%E7%9B%B8%E5%85%B3%E6%8F%92%E4%BB%B6%E6%95%B4%E7%90%86.html

      Reply

  14. Jungle

    Jungle on #

    博主你好,最近开始用vim,感觉vim本身的功能基本就够用了,但是还想更方便,因此想到了找插件,不过很可惜,我害怕记那些难记的命令,也不是很愿意map,我想要的功能很简单,因此想自己编写脚本,能告诉我如何用自带的脚本语言和其他语言编写呢 ? vim帮助文档在这方面讲得不是很全。。。thanks

    Reply

    1. Dante

      Dante on #

      在vim中:

      <pre lang="vim" line="1">
      :h script
      </pre>

      即可

      Reply

  15. 防爆灯

    防爆灯 on #

    这一切对我来说也是云。

    Reply

  16. 荒野无灯

    荒野无灯 on #

    发现用了这个插件后会使我的
    set showcmd 配置失效,导致我N多时候按<C-Y>, 时,看不到前面按的键。。。
    请问是什么原因呢?

    Reply

    1. Dante

      Dante on #

      呃,auto.vim这个插件,建议挑里面觉得自己喜欢的部分copy到vimrc里面就可以了,并不适用所有人。

      Reply

  17. BurningNoob

    BurningNoob on #

    楼主你动画中的配色方案是啥啊。。。我喜欢。。。

    Reply

    1. BitRobt

      BitRobt on #

      是啊是啊

      Reply

      1. Dante

        Dante on #

        呃。。。desertex

        Reply

    2. Dante

      Dante on #

      desertex

      Reply

  18. 是

    on #

    XPT 比这个要好多了.

    Reply

  19. xzz

    xzz on #

    作者的配色方案是什么 可以分享一下吗

    Reply

发表评论