Czy w vimie można utworzyć podzielony widok do użytku z linii poleceń?
12
Wiem o tej opcji :!ls, ale chciałbym użyć jednego z podzielonych interfejsów (po użyciu :sp) jako okna wiersza poleceń. czy to możliwe? Jeśli tak, jak to zrobić?
Istnieją wtyczki i / lub łatki, aby to osiągnąć. Ale wcześniej czy później doświadczysz kilku dziwactw. Sugeruję, aby zamiast tego użyć w pełni funkcjonalnego, lekkiego terminala lub screen / tmux.
W przeciwieństwie do Emacsa, Vim stara się być nieco bardziej minimalny, jeśli chodzi o pracę z powłoką. Nie ma możliwości włączenia interaktywnej powłoki do jednej ze swoich kart lub buforów.
Chociaż istnieją na to obejścia. Tak jak ty, naprawdę lubię mieć bashokno w tej samej sesji terminala, co Vim. Jest to bardzo przydatne podczas edycji plików źródłowych. W moim przypadku bardzo lubię mieć uruchomione środowisko Ruby REPL, aby przetestować instrukcje przed umieszczeniem ich w plikach źródłowych.
Używam Tmux, aby osiągnąć podzielone okno. W Tmux tworzę podzielone okno (domyślny klucz to ctrl + b, "). To otworzy 2 interaktywne sesje powłoki, podobnie jak podzielone okno w Vimie. Następnie uruchamiam Vima w jednej z sesji i wszystko gotowe.
Na poniższym obrazku widać, że podzieliłem okno poziomo bashna górze i Vim na dole.
Nie jestem pewien, czy szukałeś rozwiązania ekranowego GNU, czy rozwiązania wykorzystującego wbudowane podziały Vima, ale jeśli szukasz tego drugiego, działało to dla mnie:
vim -O file_a.js file_b.js
To otwiera oba pliki z podziałem pionowym. W przypadku zwykłego (podział poziomy) wystarczy użyć małej litery -o.
PS Ctrl+ w, waby przełączać się między nimi (uważam, że to dobry sposób na różnicowanie podziałów ekranu i podziałów vim).
Długo tego szukałem i, o ile mogę powiedzieć, nic dobrego nie jest naprawdę możliwe. Próbowałem wielu wtyczek / dodatków dla vima, ale nikt nie działał tak, jak chciałem.
Odpowiedzi:
W przeciwieństwie do Emacsa, Vim stara się być nieco bardziej minimalny, jeśli chodzi o pracę z powłoką. Nie ma możliwości włączenia interaktywnej powłoki do jednej ze swoich kart lub buforów.
Chociaż istnieją na to obejścia. Tak jak ty, naprawdę lubię mieć
bash
okno w tej samej sesji terminala, co Vim. Jest to bardzo przydatne podczas edycji plików źródłowych. W moim przypadku bardzo lubię mieć uruchomione środowisko Ruby REPL, aby przetestować instrukcje przed umieszczeniem ich w plikach źródłowych.Używam Tmux, aby osiągnąć podzielone okno. W Tmux tworzę podzielone okno (domyślny klucz to ctrl + b, "). To otworzy 2 interaktywne sesje powłoki, podobnie jak podzielone okno w Vimie. Następnie uruchamiam Vima w jednej z sesji i wszystko gotowe.
Na poniższym obrazku widać, że podzieliłem okno poziomo
bash
na górze i Vim na dole.Używam również Tmux do obsługi programowania par z innymi. Możesz przeczytać więcej o mojej konfiguracji na moim blogu pod adresem http://jjasonclark.com/Remote-Pairing-with-SSH-and-Tmux-on-a-Mac .
źródło
Vim 8 ma wbudowany tryb terminalowy.
Możesz wpisać,
:ter
aby uzyskać dostęp do terminala.Aby poruszać się po poleceniach w domyślnej powłoce, użyj
j,k
.Możesz uzyskać więcej informacji, wpisując
:h ter
VIM8.Uwaga : Twój VIM8 musi mieć,
+terminal
aby to działało.źródło
Nie jestem pewien, czy szukałeś rozwiązania ekranowego GNU, czy rozwiązania wykorzystującego wbudowane podziały Vima, ale jeśli szukasz tego drugiego, działało to dla mnie:
To otwiera oba pliki z podziałem pionowym. W przypadku zwykłego (podział poziomy) wystarczy użyć małej litery
-o
.PS Ctrl+ w, waby przełączać się między nimi (uważam, że to dobry sposób na różnicowanie podziałów ekranu i podziałów vim).
źródło
Czy próbowałeś screena ? Jest jakiś powód, który by Ci nie wyszedł?
źródło
Długo tego szukałem i, o ile mogę powiedzieć, nic dobrego nie jest naprawdę możliwe. Próbowałem wielu wtyczek / dodatków dla vima, ale nikt nie działał tak, jak chciałem.
Ten jest jednak dobry: ConqueTerm
Ma jednak pewną niespójność z kolorami. Spróbuj, może Ci się uda.
źródło
Możesz używać NeoVim, ma wbudowany tryb terminalowy podobny do emacsa (choć jest bardzo nowy) - pozwala to mieć go w oknie, jak każdy inny bufor vim
źródło