Anwendungsfall für Neovim Terminal Emulator?


10

Ein großer Unterschied zwischen neovim und Vim besteht darin, dass neovim einen Terminalemulator enthält , der asynchron arbeitet.

Ich sehe jedoch nicht ein, wie ich von dieser Funktion profitieren kann. Wofür kann ich es verwenden? Können Sie einige Anwendungsfälle für die Terminalfunktion von neovim angeben, damit ich verstehe, wie ich sie optimal nutzen kann?

Im normalen Gebrauch Vim ich normalerweise :read !{command}, :write !{command}, Ctrl+Zund fgsowie tmux Split - Fenster.


Ein Problem dabei <C-z>ist, dass der Vim-Prozess vom Betriebssystem angehalten wird: Er unternimmt nichts (einschließlich der Reaktion auf Serverbefehle).
Martin Tournoij

Wäre es hilfreich, stattdessen :shellmit zu exitverwenden, oder ist vim auch hier ausgesetzt?
cbaumhardt

1
@Carpetsmoker, was erwarten Sie von Ihrem Texteditor, wenn Sie ihn nicht verwenden?
Romainl

@romainl Nun, zum Beispiel habe ich ein Skript, das die Vim-Sitzung beim Bearbeiten einer bestimmten Datei fokussiert. Dies wird an angehaltenen Vim-Prozessen hängen ...
Martin Tournoij

1
Das ist kein Problem mit <C-z>, das ist ein Problem mit Ihrem Skript.
Romainl

Antworten:


10

Durch Ausführen eines Terminals in Vim können Sie Vim-Befehle für die Ein- und Ausgabe der Programme verwenden, die Sie in diesem Terminal ausführen. Sie erhalten Suchen, Kopieren, Einfügen, Makros, Syntaxfarben usw. Verwenden :read !{command}und :write !{command}gibt diese für One-Shot-Befehle an, aber die asynchrone Eingabe / Ausgabe wird nützlich, wenn Sie Eingaben Stück für Stück an ein externes Programm senden möchten.

Der typische Anwendungsfall ist eine Read-Eval-Print-Schleife (REPL), die von vielen höheren Programmiersprachen bereitgestellt wird. Sie geben eine Zeilengruppe in Ihren Quellcode ein und geben sie dann zur sofortigen Rückmeldung an die REPL weiter. Da die REPL von einer Übermittlung zur nächsten weiterläuft, werden die übermittelten Codeausschnitte im Kontext ausgeführt.


6

Ich denke, die Option zum Erstellen von Nur-Terminal-Zuordnungen ist wertvoll und erweitert die Optionen, die Sie in anderen Terminal-Emulatoren haben, z. B. Zuordnung t, um Unittests mit einer bestimmten Konfiguration auszuführen, die Sie nur durch komplexe Aliase oder Bash-Funktionen erreichen können.


4

Der offensichtlichste Anwendungsfall, den ich mir vorstellen kann, ist das Programmieren. Wollten Sie schon immer Tests in VIM ausführen, kompilieren oder ein Konsolentool verwenden? Ich weiß, dass Leute Tmux verwenden, aber ich weiß, dass Sie dies in NeoVIM tun können. Das ist ziemlich genial !!!

Wenn Sie Puffer verwenden, können Sie Terminals nach Belieben hinzufügen, entfernen, ausblenden und anzeigen. Das ist der Gewinn;)

Ausführen einer Shell in NeoVIM


3

Der beste Anwendungsfall, den ich mir vorstellen kann, ist der ursprüngliche ADM-3a auf einer 110-Bit / s-Leitung! Manchmal gibt es wirklich keinen Ersatz dafür, Dinge nebeneinander zu betrachten und :!rsie nicht zu schneiden.


3
Viel Glück, etwas in zwei 39x12 (oder 39x24!) Fenstern zu
erledigen ;-)
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.