Was machen% und! meine in Vim-Befehlen?


9

In Vim,

 :%!ls 

führt den lsBefehl aus und druckt seine Ausgabe in die aktuell bearbeitbare Datei.

Aber was bedeutet %und !bedeutet separat in vim?

Ist es möglich, lsdie Ausgabe auszuführen und nicht zu dokumentieren?

Antworten:


9

Führen Sie in Vim :h :!und aus:h :% erfahren Sie, was jeder tut.

Jetzt wird das :%verwendet, um den Inhalt der Datei durch die Ausgabe des Shell-Befehls zu ersetzen, der mit ausgeführt wird :!. Wenn Sie den Inhalt der Datei nicht berühren möchten, verwenden Sie nicht %. Mach einfach:

:!ls

4

Laut VIM Tutorial :

%.

Move cursor to the matching bracket.
Place cursor on {}[]() and type "%".

!

filter through external command 
Any UNIX command can be executed from the vi command line by typing an "!" before the UNIX command.
Autowrite can be intentionally avoided by using "!" to avoid the save when switching files.

Weitere Informationen finden Sie im Vim Commands Cheat Sheet und im VIM Tutorial


2

Ich hatte dieselbe Frage und fand sie in :h cmdline-special, was die Bedeutung war, nach der ich suchte:

%   Is replaced with the current file name.       *:_%* *c_%*
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.