Antworten:
Die beste Methode ist, diese Einstellungen vorzunehmen ~/.vim/after/ftplugin/<filetype>.vim
.
Für HTML (vorausgesetzt, Sie möchten 4 Zeichen breite Tabs):
~/.vim/after/ftplugin/html.vim
setlocal shiftwidth=4
setlocal softtabstop=4
setlocal noexpandtab
Die Verwendung eines FTP-Plugins wird der Verwendung von Autobefehlen vorgezogen, da Vim bereits Dateitypprüfungen selbst durchführt und bereits versucht, das entsprechende FTP-Plugin zu finden, sodass es keinen Grund gibt, noch mehr Prüfungen zu erzwingen und das Rad erneut zu implementieren.
- bearbeiten -
Angenommen, Sie haben filetype plugin on
in Ihrem vimrc
- was Sie sollten - Vim versucht, den Dateityp der von Ihnen bearbeiteten Dateien zu ermitteln. Sobald der richtige Dateityp gefunden und für den Puffer festgelegt wurde, versuchen Sie, das entsprechende ftplugin an folgenden Standardpositionen zu finden:
$VIMRUNTIME/ftplugin/html.vim
~/.vim/ftplugin/html.vim
~/.vim/ftplugin/after/html.vim
All dies geschieht automatisch . Wenn Ihr Dateityp von Vim erkannt wird, gibt es absolut keinen Grund, eine Dateityp-Erkennungslogik hinzuzufügen: Fügen Sie einfach Ihre Einstellungen zum richtigen ftplugin hinzu, und Sie sind gut.
filetype plugin indent on
in Ihrem haben vimrc
.
filetype plugin on
festgelegt, enthält der Pfad von vim die Dateien ftplugin/<filetype>.vim
und after/ftplugin/<filetype>/vim
in seinem Pfad.
Sie können dies mit Autobefehlen in Ihrem tun .vimrc
.
Zum Beispiel habe ich eine Funktion html_like_mode
, die verschiedene Dinge zum Bearbeiten von HTML-Dateien einrichtet. In meinem habe .vimrc
ich:
au BufNewFile,BufRead *.html call s:html_like_mode()
Das schaltet die Dateierweiterung ab. Sie können den Dateityp auch deaktivieren, wenn Sie dies aktiviert haben:
au FileType perl setlocal equalprg=perltidy
Wie Sie sehen, kann es dort jeden Befehl ausführen. Sie können also problemlos eine setlocal shiftwidth 4
für Ihre * .c-Dateien erstellen.
augroup
Ermöglicht es Ihnen, verwandte Autobefehle in benannte Gruppen zu gruppieren. (Siehe hier über automatische Befehl Gruppen zu lernen.) Wir verwenden augroup
s automatischen Befehle hinzuzufügen ~/.vimrc
in einer Weise , dass ein jedes Mal , nicht hinzufügen dupliziert wir es beziehen.
augroup vimrc
autocmd!
augroup END
autocmd vimrc FileType html setlocal shiftwidth=4 tabstop=4