[转]vim snipMate

来源:互联网 发布:c语言复合语句 编辑:程序博客网 时间:2024/06/06 04:08

vim 是个好东西,尤其有了各种插件的武装之后,更是无敌。下面介绍一下我在snipMate插件安装使用时的经验。

vim 之 snipMate 插件

snipMate插件是用来模仿TextMate这个在Mac下无敌的文本编辑器的,主要实现代码自动补全功能,可以在这里下载。同其他vim插件一样,解压后将解压后的所有文件和目录统统放在~/.vim目录下,就可以使用了。不过默认的情况下,该插件仅对一下常见的文件类型支持,所以要想让snipMate自动补全你的代码还需要添加文件类型支持文件,在这里可以得到很多文件类型的支持,比如Ruby on Rails 开发中常见的文件类型。在终端执行:

git clone git://github.com/scrooloose/snipmate-snippets.git snipmate-snippets

将snipmate-snippets 文件夹下所有目录和文件复制到~/.vim/snippets目录下即可。

需要提醒的是,vim不一定会自动识别所有的文件类型,尤其是那些带有多个文件后缀的文件,比如home.html.erb,默认情况下vim只会将它识别为erb文件,可以在vim下使用”:set filetype=<tab>”命令(”<tab>”意思是按下键盘上的Tab键)来查看打开的文件被识别为什么类型的文件。如此一来,在编辑这个文件的时候就不能使用html相关的代码提示功能了,解决办法是使用” :set filetype=html.erb “命令,当然这样有些麻烦,如果想让vim自动识别这种多后缀的文件,那就需要在vim配置文件 ~/.vimrc 中添加如下代码:

autocmd BufNewFile,BufRead *.html.erb set filetype=html.eruby

退出vim,使用vim打开或新建一个html.erb文件,在insert模式输入for<tab>看看发生什么,会自动补全为

<% for item in list -%> <% end -%>输入div<tab> 会自动补全为: <div id=""> </div>

如果想在erb文件中输入”=”自动完成代码”<%=  %>”,可以在 ~/.vim/snippets/eruby-rails文件夹下新建 “ =.snippet ”文件,内容:

<%= ${1: } %>保存,重启vim即可。其他自动提示可以自行研究。
原创粉丝点击