Ich nahm die ausgezeichnete Antwort von ib oben und erweiterte sie wie folgt. Mein Ziel war es, mit vim neue Markdown-Dateien zu erstellen, die für ein Wiki benötigt werden (in diesem Fall ein Gollum-Wiki).
Ich habe zuerst versucht:
map <silent> <leader>cf :call writefile([], expand("<cfile>"), "t")<cr>`
Das Obige funktioniert wie in der Antwort angegeben. Zuerst dachte ich jedoch, dass es nicht funktioniert, weil ich das Öffnen der Datei in vim nicht wirklich gesehen habe. Wenn Sie das zweite Codebit unten verwenden, wird eine neue Datei geöffnet - das ist mehr, wonach ich gesucht habe. Also habe ich sie kombiniert und versucht:
map <leader>cf :e <cfile><cr>
Dies funktioniert jedoch nicht für ein Wiki, da beim Versuch, eine neue Datei im Wiki mit einer Syntax wie [[the-new-file]]
der Wiki-Syntax zu erstellen, die Erweiterung der Datei in den Klammern nicht zulässig ist. Vim muss jedoch die Erweiterung kennen, wenn eine neue Datei erstellt wird, damit dies funktioniert. In diesem Fall habe ich verwendet:
map <leader>cf :e <cfile>.md<cr>
so konnte ich neue Markdown-Dateien erstellen. Es gibt Möglichkeiten, dies weiter anzupassen (z. B. indem die Erweiterung nicht fest codiert wird), aber das oben Genannte funktioniert gut für meine Anforderungen. Wenn ich jemals eine andere Erweiterung benötige (zum Beispiel um eine .wiki-Datei zu speichern), nehme ich wahrscheinlich einfach die einfache Route und erstelle eine andere Karte wie:
map <leader>cwf :e <cfile>.wiki<cr>
Als Nebeneffekt können Sie denselben Befehl verwenden, um die bereits vorhandene Markdown-Datei zu öffnen (der Standardbefehl gf
funktioniert hier nicht, da die Dateierweiterung fehlt).
<cfile>
statt<C-r><C-f>