Vim-Mapping nur für .vimrc

501
omnesia

ich weiss Bescheid

autocmd FileType <TYPE> inoremap <MAPPING> 

für Dateien wie * .html. Aber ich möchte einige Keybinds für mich erstellen .vimrc:

autocmd FileType vimrc inoremap ;; autocmd<Space>FileType ... 

Dies sollte natürlich nur innerhalb der vimrc-Datei funktionieren, da dies an anderer Stelle keinen Sinn ergibt. Die Verwendung vimrcals FileType funktioniert jedoch nicht. Irgendwelche Vorschläge?


BEARBEITEN:

Ich habe es auch versucht

au Bufread,BufNewFile *.vimrc setfiletype vimrc 

und

au Bufread,BufNewFile .vimrc setfiletype vimrc 

Das funktioniert gut für einige benutzerdefinierte Dateitypen, die ich verwende, aber nicht für .vimrc. Mir ist bekannt, dass Punktdateien nicht mit Dateiendungen identisch sind, aber es war einen Versuch wert.

1

1 Antwort auf die Frage

1
Heptite

Du bist fast da.

Zunächst müssen Sie wissen, dass es keinen "vimrc" -Datentyp gibt, es sei denn, Sie erstellen einen neuen Dateityp (z. B. als Untertyp des vim-Dateityps). .vimrcDateien sind Vim-Skripte und sollten bereits als solche erkannt werden.

Dies bedeutet, dass Sie einen der automatischen Auslöser in der letzten Hälfte Ihrer Frage verwenden möchten, jedoch mit dem Befehl in der ersten Hälfte. Vermutlich möchten Sie auch das Mapping-Puffer lokal machen:

au Bufread,BufNewFile .vimrc inoremap <buffer> ;; autocmd<Space>FileType ... 

Sehen: :help :map-<buffer>

Vielen Dank, genau das habe ich gesucht. Immer noch neu bei vim, aber ich bin schon begeistert, was man damit anfangen kann. omnesia vor 7 Jahren 0