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

p1100i
źródło
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 .

Jason
źródło
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.

alpha_989
źródł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).

JM Janzen
źródło
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
6

Czy próbowałeś screena ? Jest jakiś powód, który by Ci nie wyszedł?

Alex Nye
źródło
3

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.

wioślarz
źródło
Sprawdź to również: youtube.com/watch?v=5__I_cnxmPc&feature=related
rowman
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

alcesleo
źródło