Unterschiedliche vim-Einrückungseinstellungen für einen bestimmten Dateityp

3

Drupal bietet einige Referenz Informationen zum Einrichten von VIM für die Drupal-Entwicklung, aber ich möchte, dass diese Einrückungseinstellungen nur auf Drupal-bezogene Dateien und nicht auf alle Dateien angewendet werden

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

Ist es möglich, diese Einstellungen nur auf .module- und .inc-Dateien festzulegen?

Ich bin mir nicht sicher, ob dies relevant ist, aber um Syntax-Hervorhebungen für die Drupal-Dateien bereitzustellen, weiß ich, dass die bereitgestellte Konfiguration funktionieren würde

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

Ist es möglich, die obigen Einstellungen in diesen Konfigurationsblock zu übernehmen?

Jeffrey04
quelle
Sie können verwenden setlocal für lokale Puffereinstellungen
juanpablo

Antworten:

3

Ja, es wäre möglich, Sie sagten, dass diese Einstellungen nur für die * .module- und * .inc-Datei gelten sollen. Dann würde ich Ihren Konfigurationsblock folgendermaßen ändern:

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

Nach meinem Verständnis von VIM kann fast alles, was Sie in der .vimrc-Datei tun können, über die Eingabeaufforderung: in vim erfolgen, z : smartindent setzen zum Beispiel.

Pharaun
quelle