Wie führe ich einen bestimmten vim-Befehl aus, wenn ich eine Datei mit einer bestimmten Erweiterung öffne?
9
Ich möchte, dass alle meine Dateien mit .texeiner Zeilenlänge von 80 enden. Wenn ich also eine .texDatei in vim öffne, tippe ich :set tw=79. Was würde ich in meine .vimrc einfügen, um dies zu automatisieren?
Was passiert , wenn ich es an der Arbeit mit einer bestimmten Liste von Dateitypen gesucht, sagt sie, .md, .txt, und .tex?
Anstatt die Erweiterung zu überprüfen und die Textbreite entsprechend einzustellen, können Sie einfach eine tex.vimDatei (der Name muss mit dem Dateityp übereinstimmen) in .vim/ftplugin/oder für Windows $HOME/vimfiles/ftplugin/erstellen und dort die Textbreite festlegen. Dies wird Ihnen helfen, Ihre .vimrc sauber zu halten.
Ihre .vim/ftplugin/tex.vimDatei würde folgendermaßen aussehen:
setlocal textwidth=79
Wie 8bittree in den Kommentaren sagte, müssen Sie auch filetype pluginsin Ihrem vimrc aktivieren (ich würde nicht wissen, warum jemand es nicht aktivieren würde):
setkann beliebig viele Einstellungen vornehmen. So etwas set tw=79 nowrap formatoptions+=jwird funktionieren. Keine Notwendigkeit für ein |(es sei denn, Sie möchten natürlich einen anderen Befehl aufrufen) ;-)
.vimrc
mit aktiviert sindfiletype plugin on
.In
~/.vimrc
können Sie die folgende Zeile hinzufügen:Trennen Sie zusätzliche Befehle durch
|
.Dadurch werden Ihre Einstellungen direkt nach dem Lesen der Datei oder dem Öffnen einer neuen Datei im Puffer für bestimmte Erweiterungen festgelegt.
quelle
set
kann beliebig viele Einstellungen vornehmen. So etwasset tw=79 nowrap formatoptions+=j
wird funktionieren. Keine Notwendigkeit für ein|
(es sei denn, Sie möchten natürlich einen anderen Befehl aufrufen) ;-)