
:make
Wenn ich versuche, einige Befehle wie oder auszuführen :!ls
, wird die Ausgabe in einem ganz anderen Bildschirm/einer ganz anderen Ansicht angezeigt und die Datei, die ich bearbeite, ist während dieses Vorgangs nicht sichtbar. Gibt es eine Möglichkeit, meine Datei weiterhin anzuzeigen und zu bearbeiten, während der von mir ausgeführte Befehl wahrscheinlich in einem Fenster unten ausgeführt werden kann, wahrscheinlich im Schnellkorrekturfenster?
Antwort1
Wenn Sie vim 8 oder neovim verwenden, möchten Sie vielleicht Folgendes versuchen:
http://github.com/skywind3000/asyncrun.vim,
Guter Ersatz für vim-dispatch mit viel besserer Benutzererfahrung.
Einfach zu verwenden, starten Sie Ihren Hintergrundbefehl einfach mit :AsyncRun (genau wie beim alten „!“-Befehl).
Der Befehl wird im Hintergrund ausgeführt, Sie müssen nicht warten, bis der gesamte Vorgang abgeschlossen ist.
Die Ausgabe wird im Quickfix-Fenster angezeigt, Fehler werden mit dem Fehlerformat abgeglichen.
Sie können die Fehlerausgabe sofort untersuchen oder während der Ausführung in vim weiterarbeiten.
- Läuten Sie die Glocke oder spielen Sie einen Ton ab, um Sie über die Fertigstellung Ihrer Arbeit zu informieren, während Sie sich auf die Bearbeitung konzentrieren.
- Sorgen Sie für die entsprechende Benutzererfahrung in vim, neovim, gvim und macvim.
Antwort2
Du könntest benutzenvim-VersandPlugin für asynchronen Build (make).
oder wenn Sie einfach möchten, dass das Shell-Kommando als Ergebnis ein Quickfix-Fenster anzeigt, können Sie es im Ex-Modus verwenden:
:cexpr system('ls -alh') | copen
noch besser, fügen Sie dies zu Ihrer .vimrc hinzu
command -nargs=+ Run :cexpr system('<args>') | copen
und im Ex-Modus ausführen:
:Run ls -alh
Antwort3
Dieses Verhalten ist völlig normal. CLI Vim verfügt nicht über einen Terminalemulator undniemalstun. GUI Vim wird jedoch mit einem einfachen Terminalemulator geliefert, und ich denke, daran erinnern Sie sich „schon lange zurück“.
Sie benötigen ein Plug-In, um Befehle in einem separaten Vim-Fenster auszuführen.ConqueTermist der einzige Name, an den ich mich im Moment erinnern kann, aber ich glaube, es gibt noch ein oder zwei andere.
Antwort4
Würde die Aufspaltung dervimFunktionieren Windows-Geräte für Sie?
- :Teilt- teilt das Fenster horizontal
- :vgeteilt- teilt das Fenster vertikal
Anschließend können Sie eines der Fenster nur zum Bearbeiten der Datei verwenden und das zweite zum Ausführen über:machen.