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?
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?
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 .
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.
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) -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).
Haben Sie versucht, Bildschirm ? Gibt es einen Grund, der für Sie nicht klappen würde?
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.