Nach einigem Suchen lernte ich :echo @%
den aktuellen Dateinamen in der untersten Zeile von vim-screen anzuzeigen.
Ich möchte den Dateinamen (mit und ohne vollständigen Pfad) in den Inhalt der Datei einfügen, ohne ihn zu verlassen vim
.
Gibt es eine Möglichkeit, dies zu tun?
<c-r>
als Redo-Befehl abgebildet?<c-r>
dass das nächste Zeichen ein Register ist."%p
im normalen oder visuellen Modus tun .Wie in zu sehen ist
:h registers
,"%
enthält das Register den aktuellen Dateinamen. Der:pu[t]
Befehl fügt den Inhalt eines Registers in den Text ein.Um den tatsächlichen Dateinamen einzufügen, können Sie im Befehlsmodus einen der folgenden Befehle eingeben:
oder
Geben Sie ein, um den Dateinamen mit dem vollständigen Pfad einzufügen
im Befehlsmodus.
Mehr Info:
Durch Tippen können
"rp
Sie den Inhalt des Registers einfügen"r
.quelle
:put "%:p"
scheint bei mir nicht zu funktionieren. Es scheint nur mit expand () zu funktionieren , wie in:put =expand('%:p')
:, was es nicht viel weniger umständlich macht als<c-r>=expand('%:p')
leider.Ein einfacher Weg ist zu laufen:
!!
ersetzt die aktuelle Zeile durch das Ergebnis des darauf folgenden Befehls.%
wird durch den Namen der bearbeiteten Datei im Befehl ersetzt, sodass dieser Name effektiv in die bearbeitete Datei eingefügt wird.Der Dateiname wurde an den Befehl vi (m) übergeben und kann einen relativen oder absoluten Pfad enthalten. Wenn Sie es entfernen und nur den Dateinamen beibehalten möchten, führen Sie es aus
quelle
Wenn Sie dies häufig tun müssen, kann es nützlich sein, eine Schlüsselsequenz an das zu binden, was Sie möchten, wie unter http://vim.wikia.com/wiki/Insert_current_filename angegeben
Die oben genannten Einstellungen wirken sich direkt
vim
auf die Sitzung aus, oder Sie können sie in.vimrc
das Feld einfügen (wobei der führende Doppelpunkt in der Zeile optional ist).quelle
Ich googelte auf einfachste Weise, um den aktuellen Dateinamen (ohne Pfad oder Erweiterung) an der aktuellen Position einzufügen (keine neue Zeile, keine neue Zeile). Ich habe also nach einer Kombination aus vorherigen Antworten und diesem Link gesucht.
Im Einfügemodus :
Dann das nächste Mal (mit dem Befehl bereits in der Geschichte):
quelle