前天在www.vim.org上闲逛,偶尔发现了auto.vim这款插件,发现短短一个星期下载量就达到了327,评价也是145/51。
script karma Rating 145/51, Downloaded by 327
遂很好奇效果如何,于是下载下来试了一下,我这里演示一下我比较喜欢的几个特性.
其实主要是两个部分,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,大家可以自己拿来玩一下。
梧桐 on #
感觉还是像vs里面那样在换行的时候自动在==左右加空格比较爽
Reply
Dante on #
应该也是能实现的,不过那样的话光标需要先移动到上一行去操作,可能会拖慢编辑速度~~
Reply
依云 on #
像这种操作就应该用 setline() 了。
Reply
NIX on #
哥哥这张图片如何生成?有没有教程?
(录像、导出gif?)
Reply
Dante on #
Gif·gIf·giF 这个软件~google一下就知道啦,很简单~
Reply
依云 on #
Linux 下可用 byzanz 录制 GIF 动画
Reply
NIX on #
默认在Linux下,谢谢依云。
Reply
o(∩∩)o...哈哈 on #
ls两位我认识,我是有子。o(∩∩)o...哈哈
Reply
xlii on #
http://aur.archlinux.org/packages.php?ID=37931&detail=0
It would be good to display your key keystrokes in
the screencast.
Reply
依云 on #
It would be good but I resulted in ImportError...
Reply
宇文高下 on #
谢谢您的关注
Reply
Dante on #
哈哈,插件写的很不错,加油!~
Reply
宇文高下 on #
很感谢,我那个基本上谈不上插件,我只想节约下程序员的时间,呵呵,彼此加油
Reply
雨碎江南 on #
不错...省去了很多调整代码格式的时间~
Reply
kadyz on #
强烈建议不要过多使用写代码的自动化工具,曾经一直在VC上使用visual assist插件,之后因为工作需要换到UE上编程,突然发现离开了插件写代码异常慢,看到其他程序员飞一般的敲代码速度,危机感很大啊。
所以,可以使用一些方便看代码和管理代码的插件,但是写代码,还是老老实实敲吧,优秀的程序员必备的技能之一就是快速的编码能力,他们纯敲代码的速度一点不会比使用这些插件慢。而这些插件只会让人产生依赖性。而楼上说的调整代码格式的时间只是不好的编码习惯带来的。
Reply
Dante on #
古语云,工欲善其事,必先利其器。个人认为出色的工具是必要的,这也是为什么记事本也可以写代码但是却基本没人用的原因。
其实kadyz说的工具可能会换的情况,我倒是觉得是因为VC不跨平台的原因,而这也恰恰是我最终选了vim的原因之一。
个人意见,希望莫怪。
Reply
nonomori on #
整个插件就是inoremap集合呀. 不错的. 挺实用.
iw
Reply
Dante on #
是呀,细节之处也是很能提高效率滴~
Reply
AAT on #
可惜only for linux
Reply
Dante on #
?不会呀,win下也可以用呀
Reply
AAT on #
里面有调用linux下的命令 :
"!clear;./%/dev/null && rm -f %<"
Reply
Dante on #
哦,我精简了其他的功能,只用了自动增加空格的特性
Reply
AAT on #
不过在linux下使用的确方便
Reply
guojing on #
还是不太习惯用插件啊,vi我就拿着当可高亮的记事本用。。
Reply
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
Renkai on #
还有一个问题……怎么样能在你的博客里有一个头像啊?
Reply
Dante on #
是有一个全球头像统一存储的网站的,与邮箱绑定,可以google一下
Reply
Dante on #
可以直接在vim中help script,对于auto.vim的报错问题我没有深入用过,不过我博客有介绍一键编译,我在手机上没法贴地址,可以搜索一下
Reply
hello on #
Linux下一键编译正常呀
Reply
小新 on #
snipMate.vim - http://www.vim.org/scripts/script.php?script_id=2540
这个插件也是不错的!跟你这个很像~
Reply
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
Jungle on #
博主你好,最近开始用vim,感觉vim本身的功能基本就够用了,但是还想更方便,因此想到了找插件,不过很可惜,我害怕记那些难记的命令,也不是很愿意map,我想要的功能很简单,因此想自己编写脚本,能告诉我如何用自带的脚本语言和其他语言编写呢 ? vim帮助文档在这方面讲得不是很全。。。thanks
Reply
Dante on #
在vim中:
<pre lang="vim" line="1">
:h script
</pre>
即可
Reply
防爆灯 on #
这一切对我来说也是云。
Reply
荒野无灯 on #
发现用了这个插件后会使我的
set showcmd 配置失效,导致我N多时候按<C-Y>, 时,看不到前面按的键。。。
请问是什么原因呢?
Reply
Dante on #
呃,auto.vim这个插件,建议挑里面觉得自己喜欢的部分copy到vimrc里面就可以了,并不适用所有人。
Reply
BurningNoob on #
楼主你动画中的配色方案是啥啊。。。我喜欢。。。
Reply
BitRobt on #
是啊是啊
Reply
Dante on #
呃。。。desertex
Reply
Dante on #
desertex
Reply
是 on #
XPT 比这个要好多了.
Reply
xzz on #
作者的配色方案是什么 可以分享一下吗
Reply