vim插件:为不同语言定制不同的文法风格

以前我的脚本语言主要涉及到shell,awk,perl这三种,最近2年开始写python,发现python确实是一门不错的脚本语言,真是居家旅行之必备,慢慢的也开始推荐身边的人开始使用。但是由于python格式不像其他语言那么随意,所以也遇到了一个麻烦。

为了保证在任何一台机器上写的python脚本在其他机器上看上去格式都一样那么需要把TAB键替换成空格,一般的用vim来写python脚本都会在~/.vimrc这个脚本里做如下设置:

set tabstop=4

set softtabstop=4

set shiftwidth=4

set smarttab

set expandtab

如上设置后就可以在输入tab键的时候自动替换成4个空格,这样就能达到上述目的,但是这样替换后也会存在其他的问题,在linux机器上,可能多个人共用一个账号(这在公司里很常见)但是在同一个用户下只能有一个vimrc,即使没有共用用,如果TAB替换成空格后那么在自己编写makefile文件需要TAB键的时候也会遇到麻烦,这些个问题困扰了我挺久的,今天下决心学习下vim的一个插件希望能解决这个问题。

    从vim help里可以看到有一章是 :

    |usr_05.txt|  Set your settings

进入到这一章可以看到有一节 :

    |05.4|  Adding a plugin

这个也许就是我要的东西了,在这一节里很快可以看到有一个tag :

|add-filetype-plugin|

这个正是我需要的——能够根据不同的文件类型来定制不同的文法风格。

    要添加插件,那么在使用之前就应该让vim知道怎么识别使用哪个插件从help文档中可以看到有这么一个命令:

    :filetype plugin on

这个命令是说开启文件类型的插件,这样vim就自动识别当前编辑的文件的类型然后调用对应的插件。执行这个命令后vim就会去找对应的插件,那么它是怎么进行查找的呢?在用vim打开一个文件后进入命令模式 软后输入命令:

    :set runtimepath

然后就可以得到如下一条信息:

runtimepath=~/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim70,/usr/share/vim/vimfiles/after,~/.vim/after

这个runtimepath就是vim查找插件的顺序,如果在不同的两个路径下找到了同样名字的插件,那么就会以后面的为准来执行。一般来说推荐将自己的插件放到 ~/.vim/after/目录下,这样不容易出现问题。而不要去改系统中自带的插件。

    现在为了解决我的问题,创建 ~/.vim/after/ftplugin/目录,然后在这个目录了下创建一个python.vim插件文件,然后在这个文件中设置好我的命令如下:

set softtabstop=4

set shiftwidth=4

set smarttab

set expandtab

如上设置并保存后就能解决pythonTAB键问题了。需要注意的是,现在这样的话,媒体打开文件后都需要运行一遍 :filetype plugin on 这个命令,为了省事可以直接在vimrc中配置如下命令,这样每次启动后就自动加载插件了

if has("autocmd")

        filetype plugin indent on

endif

 到此只需要每次修改python.vim来定制自己的代码风格就行了,其他语言也是类似的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值