针对特定文件类型设置不同的 vim 缩进

针对特定文件类型设置不同的 vim 缩进

Drupal 提供了一些参考关于如何为 Drupal 开发设置 VIM,但我希望这些缩进设置仅适用于 drupal 相关文件,而不是所有文件

set expandtab
set tabstop=2
set shiftwidth=2
set autoindent
set smartindent

是否可以将这些设置仅设置为 .module 和 .inc 文件?

不确定这是否相关,但为了给 drupal 文件提供语法突出显示,我知道提供的配置会起作用

if has("autocmd")
  " Drupal *.module and *.install files.
  augroup module
    autocmd BufRead,BufNewFile *.module set filetype=php
    autocmd BufRead,BufNewFile *.install set filetype=php
    autocmd BufRead,BufNewFile *.test set filetype=php
  augroup END
endif

可以将上述设置放入该配置块中吗?

答案1

是的,这是可能的,您说您希望这些设置仅适用于 *.module 和 *.inc 文件,然后我会修改您的配置块使其看起来像这样:

if has("autocmd")
  " Drupal *.module and *.install files.
  augroup module
    autocmd BufRead,BufNewFile *.module set filetype=php
    autocmd BufRead,BufNewFile *.install set filetype=php
    autocmd BufRead,BufNewFile *.test set filetype=php

    autocmd BufRead,BufNewFile *.module set expandtab
    autocmd BufRead,BufNewFile *.module set tabstop=2
    autocmd BufRead,BufNewFile *.module set shiftwidth=2
    autocmd BufRead,BufNewFile *.module set autoindent
    autocmd BufRead,BufNewFile *.module set smartindent

    autocmd BufRead,BufNewFile *.inc set expandtab
    autocmd BufRead,BufNewFile *.inc set tabstop=2
    autocmd BufRead,BufNewFile *.inc set shiftwidth=2
    autocmd BufRead,BufNewFile *.inc set autoindent
    autocmd BufRead,BufNewFile *.inc set smartindent

  augroup END
endif

基本上,根据我对 VIM 的理解,几乎任何在 .vimrc 文件中可以做的事情都可以通过 vim 中的 :prompt 来完成,例如:设置智能缩进例如。

相关内容