Ist es in vim möglich, eine geteilte Ansicht für die Verwendung in der Befehlszeile zu erstellen?
12
Ich kenne die Option :!ls, möchte aber eine der aufgeteilten Schnittstellen (nachdem sie verwendet wird :sp) als Befehlszeilenfenster verwenden. Ist das möglich? Wenn ja, wie mache ich das?
Es gibt Plugins und / oder Patches, um dies zu erreichen. Aber Sie werden früher oder später einige Macken erleben. Mein Vorschlag ist, stattdessen ein leichtes Terminal mit vollem Funktionsumfang oder screen / tmux zu verwenden.
Im Gegensatz zu Emacs versucht Vim, bei der Arbeit mit der Shell etwas minimaler zu sein. Es gibt keine Option, die interaktive Shell in eine ihrer Registerkarten oder Puffer aufzunehmen.
Obwohl es dafür Problemumgehungen gibt. Genau wie Sie möchte ich wirklich ein bashFenster in derselben Terminalsitzung haben, in der Vim ausgeführt wird. Es ist sehr nützlich beim Bearbeiten von Quelldateien. In meinem Fall möchte ich wirklich, dass die Ruby REPL-Umgebung ausgeführt wird, damit ich Anweisungen testen kann, bevor ich sie in die Quelldateien einfüge.
Ich benutze Tmux , um das geteilte Fenster zu erreichen. In Tmux erstelle ich ein geteiltes Fenster (Standardschlüssel ist Strg + b, "). Dadurch werden 2 interaktive Shell-Sitzungen wie in einem geteilten Fenster in Vim geöffnet. Dann führe ich Vim in einer der Sitzungen aus und bin fertig.
Sie können dem Bild unten entnehmen, dass ich das Fenster horizontal mit bashoben und Vim unten geteilt habe.
Ich bin mir nicht sicher, ob Sie nach einer GNU-Bildschirmlösung oder einer Lösung mit den in Vim integrierten Splits suchen, aber wenn Sie nach letzterer suchen, hat dies für mich funktioniert:
vim -O file_a.js file_b.js
Das a öffnet beide Dateien mit einer vertikalen Aufteilung. Verwenden Sie für eine regelmäßige (horizontale Aufteilung) -ostattdessen nur Kleinbuchstaben .
PS Ctrl+ w, wum zwischen den beiden zu wechseln (ich finde es eine gute Möglichkeit, Bildschirm- und Vim-Teilungen zu unterscheiden).
Ich habe lange danach gesucht und so viel ich sagen kann, ist nichts Gutes wirklich möglich. Ich habe viele Plugins / Addons für vim ausprobiert, aber niemand hat so funktioniert, wie ich wollte.
Sie können NeoVim verwenden, es hat einen eingebauten Terminalmodus ähnlich wie Emacs (obwohl sehr neu) - so können Sie es in einem Fenster wie jedem anderen Vim-Puffer haben
Antworten:
Im Gegensatz zu Emacs versucht Vim, bei der Arbeit mit der Shell etwas minimaler zu sein. Es gibt keine Option, die interaktive Shell in eine ihrer Registerkarten oder Puffer aufzunehmen.
Obwohl es dafür Problemumgehungen gibt. Genau wie Sie möchte ich wirklich ein
bash
Fenster in derselben Terminalsitzung haben, in der Vim ausgeführt wird. Es ist sehr nützlich beim Bearbeiten von Quelldateien. In meinem Fall möchte ich wirklich, dass die Ruby REPL-Umgebung ausgeführt wird, damit ich Anweisungen testen kann, bevor ich sie in die Quelldateien einfüge.Ich benutze Tmux , um das geteilte Fenster zu erreichen. In Tmux erstelle ich ein geteiltes Fenster (Standardschlüssel ist Strg + b, "). Dadurch werden 2 interaktive Shell-Sitzungen wie in einem geteilten Fenster in Vim geöffnet. Dann führe ich Vim in einer der Sitzungen aus und bin fertig.
Sie können dem Bild unten entnehmen, dass ich das Fenster horizontal mit
bash
oben und Vim unten geteilt habe.Ich benutze Tmux auch , um die Paarprogrammierung mit anderen zu unterstützen. Weitere Informationen zu meinem Setup finden Sie in meinem Blog unter http://jjasonclark.com/Remote-Pairing-with-SSH-and-Tmux-on-a-Mac .
quelle
In Vim 8 ist der Terminalmodus integriert.
Sie können eingeben
:ter
, um Zugriff auf das Terminal zu erhalten.Verwenden Sie zum Navigieren durch die Befehle in Ihrer Standard-Shell
j,k
.Weitere Informationen erhalten Sie, indem Sie
:h ter
VIM8 eingeben.Hinweis : Ihr VIM8 muss vorhanden sein,
+terminal
damit dies funktioniert.quelle
Ich bin mir nicht sicher, ob Sie nach einer GNU-Bildschirmlösung oder einer Lösung mit den in Vim integrierten Splits suchen, aber wenn Sie nach letzterer suchen, hat dies für mich funktioniert:
Das a öffnet beide Dateien mit einer vertikalen Aufteilung. Verwenden Sie für eine regelmäßige (horizontale Aufteilung)
-o
stattdessen nur Kleinbuchstaben .PS Ctrl+ w, wum zwischen den beiden zu wechseln (ich finde es eine gute Möglichkeit, Bildschirm- und Vim-Teilungen zu unterscheiden).
quelle
Haben Sie versucht, Bildschirm ? Gibt es einen Grund, der für Sie nicht klappen würde?
quelle
Ich habe lange danach gesucht und so viel ich sagen kann, ist nichts Gutes wirklich möglich. Ich habe viele Plugins / Addons für vim ausprobiert, aber niemand hat so funktioniert, wie ich wollte.
Dieser ist aber gut: ConqueTerm
Es hat jedoch einige Inkonsistenzen mit den Farben. Probieren Sie es aus, vielleicht klappt es für Sie.
quelle
Sie können NeoVim verwenden, es hat einen eingebauten Terminalmodus ähnlich wie Emacs (obwohl sehr neu) - so können Sie es in einem Fenster wie jedem anderen Vim-Puffer haben
quelle