VIM: Jak mogę otworzyć plik po prawej stronie jako vsplit z lewego panelu NerdTree?


84

Zainstalowałem wtyczkę NerdTree.

Jak mogę otworzyć plik po prawej stronie jako vsplit z lewego panelu NerdTree?

Odpowiedzi:


86

Jest spolecenie, ale otwiera plik podzielony na lewo od bieżącego bufora. Chociaż możesz wtedy nacisnąć Ctrl+, W raby zamienić okna.


3
W porządku, ale jeśli chcę otworzyć inny plik, wpisując s, otrzymuję kolejne podzielone okno, ale chcę zastąpić starsze podzielone okno aktualnie otwartym plikiem, jak mogę to zrobić?
— prawdopodobnie

5
Wygląda na to, że po dodaniu set splitright, jak sugerował @PrinceGoulash, sdo pliku w NerdTree otworzy się podział po prawej stronie bez konieczności robienia tego Ctrl-W r. Jeśli dobrze cię rozumiem, jeśli chcesz trzymać się tylko dwóch podzielonych w pionie okien, możesz przełączyć się do starszego okna i otworzyć nowy plik w nim przez NerdTree, po prostu naciskając Enter.
— grimgav

Nie, próbuję powiedzieć, że są dwa okna vsplit, po lewej jest menu nerdtree, jeśli naciśnę "s", pojawi się po prawej stronie. nie pojawi się już okno vsplitted.
— prawdopodobnie

@guru W takim razie chcesz „otworzyć” nowe okno, a nie „dzielić” je. Okno jest zawsze otwierane w / zastępuje ostatnio wybrany bufor. Niestety najprawdopodobniej będzie to lewy z twoich dwóch otwartych. Nie jest to idealne rozwiązanie, ale jedną z opcji może być obrócenie okien za pomocą Ctrl+W R, a następnie otwarcie pliku i obrócenie z powrotem.
— JHannes,

161

Aby vsplitumieścić nowy bufor po prawej stronie bieżącego bufora:

set splitright

Podobnie, aby splitwstawić nowy bufor poniżej bieżącego bufora:

set splitbelow

Jednak nie próbowałem tego z NerdTree.


3
ok, ale jak mogę otworzyć plik vsplited zastępując starszy?
— prawdopodobnie

1
@shably Jeśli splitrightustawiłeś, możesz wyjść z pliku, który jest obecnie po prawej stronie vsplit newfilename, a to umieści nowy plik w miejscu, w którym był stary. Można również zrobić te w jednej linii tak: q | vsplit newfilename. Zakłada się, że plik po prawej stronie jest plikiem aktywnym.
— SunSparc

1
właśnie przetestowany, splitright działa dobrze z nerdtree. Zwróć uwagę, że spowoduje to, że wszystkie dalsze podziały będą poziome zamiast pionowe, chyba że ktoś użyjevsplit
— Dwight Spencer

3

To trochę hack, ale jak to robię, to:

  1. Umieść kursor w oknie, w którym chcę otworzyć plik
  2. Hit <leader>n<leader>n(to zamyka NERDtree, a następnie otwiera je ponownie z kursorem w NERDtree)
  3. Wybierz plik

W moim systemie otwiera to w ostatnim oknie, w którym właśnie byłem, jeśli plik nie jest jeszcze otwarty na moim ekranie. Rozpocznij w oknie, w którym chcesz otworzyć plik

Rozpocznij w oknie, w którym chcesz otworzyć plik.

Po <code> <leader> n <leader> n </code> wrócisz do NERDTree

Hit <leader>n<leader>naby zamknąć i ponownie otworzyć NERDTree

Wybierz plik, który chcesz otworzyć!

Wybierz żądany plik!

Szybko C-w =przywróci Twoje okna do właściwych proporcji.


świetne rozwiązanie. przez <leader>nciebie znaczy <C-n>?
— Hafenkranich

3

Nie jestem pewien, czy ktoś jeszcze się z tym zmaga, ale oto jak sobie z tym poradziłem.

Możesz użyć

:ls 

aby wyświetlić listę dostępnych buforów. Który wyglądałby mniej więcej tak:

1 "foo.txt"
2 "blame_the_user.java"

:b1 aby wybrać plik foo.txt

:b2 dla blame_the_user.java

Tę metodę można wykonać z dowolnego ustawienia okna za pomocą :splub :vs.

Najpierw otwórz bufory, które chcesz podzielić.

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.