Ich möchte ein Autocmd in den folgenden Szenarien ausführen, wenn ich Vim starte:
- Ohne Dateinamen angegeben.
- Wenn die Datei neu ist.
- Wenn die Datei vorhanden ist, aber vollständig leer ist.
In allen drei oben genannten Fällen möchte ich ein Autocmd ausführen. Insbesondere möchte ich den Einfügemodus nur für die oben genannten Szenarien automatisch starten (und nicht, wenn ich eine Datei öffne, die bereits vorhanden und nicht leer ist).
AKTUALISIEREN:
Ich habe versucht, Folgendes in mein zu platzieren _vimrc
, aber kein Glück (und ich bin mir nicht sicher, ob es in vim eine Funktion gibt, die die Anzahl der Zeichen in einer Datei zählt (um festzustellen, ob sie Null ist), bevor ich sie öffne:
if @% == "" || filereadable(@%)
autocmd BufRead,BufNewFile * startinsert
endif
normal
anstelle von angepasst werden exec
.
if
Anweisung sollte sich also nicht um das Autocmd befinden, wenn sie sich im Autocmd befinden sollte, sodass sie jedes Mal ausgeführt wird , wenn das Autocmd ausgelöst wird.