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?

p1100i
quelle
3
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.
Marco
vim8 hat Terminal - Modus eingebaut .. siehe hier: superuser.com/a/1312655/658319
alpha_989

Antworten:

9

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.

Geben Sie hier die Bildbeschreibung ein

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 .

Jason
quelle
8

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 terVIM8 eingeben.

Hinweis : Ihr VIM8 muss vorhanden sein, +terminaldamit dies funktioniert.

alpha_989
quelle
7

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

JM Janzen
quelle
5
Obwohl dies die ursprüngliche Frage nicht beantwortet, hat diese Antwort meine Google-Suchanfrage beantwortet, die mich hierher gebracht hat. :)
Mihai Alexandru Bîrsan
Das Gleiche gilt - danke!
CaseyR
6

Haben Sie versucht, Bildschirm ? Gibt es einen Grund, der für Sie nicht klappen würde?

Alex Nye
quelle
3

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.

Rowman
quelle
Überprüfen Sie auch dieses: youtube.com/watch?v=5__I_cnxmPc&feature=related
Rowman
1

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

Alcesleo
quelle