Vim führt Bash-Befehle/Make im selben Fenster aus

Vim führt Bash-Befehle/Make im selben Fenster aus

:makeWenn 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.

Bildbeschreibung hier eingeben

  • 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.

verwandte Informationen