Ich kann eine Shell mit dem Befehl: shell in Vim öffnen, jedoch keine Datei bearbeiten und gleichzeitig die Shell verwenden.
Gibt es eine Möglichkeit, Vim in vielen Windows (oder Registerkarten) zu teilen und in einem von ihnen eine Shell zu öffnen?
Antworten:
Neovim und Vim
8.2
unterstützen dies nativ über den:ter[minal]
Befehl.terminal-window
Einzelheiten finden Sie in den Dokumenten.quelle
vsplit term://bash
Sie , wenn Sie Neovim verwenden.terminal
teilt der Befehl das Fenster und gibt eine Befehlsshell mit einer speziellen Farbe in der Fensterstatusleiste aus. Glatt.Nun, es hängt von Ihrem Betriebssystem ab - eigentlich habe ich es nicht unter MS Windows getestet - aber Conque ist eines der besten Plugins da draußen.
Eigentlich kann es besser sein, funktioniert aber.
quelle
:vsp
oder:sp
- teilt vim in zwei Instanzen auf, aber Sie können nicht verwenden: Shell in nur einer von ihnen.Warum nicht eine andere Registerkarte des Terminals anzeigen, nicht eine andere Registerkarte von vim? Wenn Ihnen die Idee gefällt, können Sie sie ausprobieren:
Ctrl-shift-t.
und mitCtrl - pageup
und zwischen ihnen wechselnCtrl - pagedown
Wenn Sie nur ein paar Shell-Befehle benötigen, können Sie mit jedem Shell-Befehl in vim einen beliebigen Befehl ausführen
!
Zum Beispiel
:!./a.out
.quelle
vim
:!./%
Ctrl
Was auch immer Ihre Antwort vermutlich Gnome-Terminal oder einen ähnlichen Emulator voraussetzt.Sie können
tmux
oderscreen
(zweitens können nur horizontale Teilungen ohne Patch durchgeführt werden) verwenden, um Ihr Terminal zu teilen. Aber ich weiß nicht, wie ich eine Instanz von Vim in beiden Fenstern haben soll.quelle
Wenn Sie es noch nicht herausgefunden haben, können Sie das erstaunliche Bildschirm-Plugin verwenden .
Conque ist auch außergewöhnlich, aber ich finde den Bildschirm viel praktischer (er "verschmutzt" beispielsweise Ihren Puffer nicht und Sie können einfach die Befehle senden, die Sie wirklich wollen, nachdem Sie sie in Ihrem Puffer bearbeitet haben).
quelle
Ich denke, dies ist eine ziemlich alte Frage, aber jetzt im Jahr 2017. Wir haben Neovim, eine Gabel von Vim, die Terminal-Unterstützung hinzufügt.
Das Aufrufen
:term
würde also ein Terminalfenster öffnen. Das Schöne an dieser Lösung im Gegensatz zur Verwendung von tmux (einem Terminal-Multiplexer) ist, dass Sie dieselben Fensterbindungen wie bei Ihremvim
Setup haben. neovim ist kompatibel mit vim, so dass Sie im Grunde Ihre kopieren und einfügen können.vimrc
und es wird einfach funktionieren.Weitere Vorteile sind, dass Sie auf dem geöffneten Terminal in den normalen Modus wechseln und einfach kopieren und bearbeiten können. Es ist auch ziemlich nützlich für Git-Commits, denke ich, da alles in Ihrem Puffer in der automatischen Vervollständigung verwendet werden kann.
Ich werde diese Antwort aktualisieren, da vim auch plant, die Terminalunterstützung freizugeben, wahrscheinlich in vim 8.1. Sie können den Fortschritt hier verfolgen: https://groups.google.com/forum/#!topic/vim_dev/Q9gUWGCeTXM
Sobald es veröffentlicht ist, glaube ich, dass dies ein überlegeneres Setup ist als die Verwendung von tmux.
quelle
Shougos VimShell , mit dem Dateinamen automatisch vervollständigt werden können, wenn sie mit Neocomplcache verwendet werden
quelle
Nicht unbedingt das, wonach Sie fragen, aber vielleicht interessiert Sie mein Plugin vim-notebook , mit dem der Benutzer einen Hintergrundprozess am Leben erhalten und einen Teil des aktuellen Dokuments auswerten (und die Ausgabe in das Dokument schreiben) kann. Es ist für Dokumente im Notebook-Stil vorgesehen, die zu bewertende Codeteile enthalten.
quelle
Möglicherweise möchten Sie ein "Bildschirm" -Programm öffnen, den Bildschirm teilen, die Shell auf einem und die Vim auf einem anderen öffnen. Funktioniert bei mir.
quelle
Ich benutze derzeit tmux.
Installation: sudo apt-get install tmux Führen Sie es aus: tmux
Strg + b gefolgt von Strg +%: Es teilt Ihr Terminalfenster in zwei vertikale Hälften.
Strg + "Pfeil links | Pfeil rechts": wechselt zwischen den Klemmen.
quelle