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ć?


3
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.
Marco

vim8 ma wbudowany tryb terminalowy .. patrz tutaj: superuser.com/a/1312655/658319
alpha_989 10'18

Odpowiedzi:


9

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.

wprowadź opis zdjęcia tutaj

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 .


8

Vim 8 ma wbudowany tryb terminalowy.

Możesz wpisać, :teraby 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 terVIM8.

Uwaga : Twój VIM8 musi mieć, +terminalaby to działało.


7

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


5
Chociaż to nie odpowiada na pierwotne pytanie, ta odpowiedź odpowiedziała na moje zapytanie wyszukiwania google, które mnie tu doprowadziło. :)
Mihai Alexandru Bîrsan

Ditto - dzięki!
CaseyR



1

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.