Jeśli edytujesz plik w VIM, a następnie musisz otworzyć istniejący bufor (np. Z listy buforów:), :buffers
jak możesz otworzyć go w podziale pionowym?
Wiem, że możesz go już otworzyć normalnym podziałem, takim jak:
:sbuffer N
N
Jest tam żądany numer bufora, jednak powyższe otwiera ten N
bufor poziomo, a nie pionowo.
Zdaję sobie również sprawę, że możesz zmienić położenie okna po otwarciu i mieć podział pionowy w następujący sposób:
Ctrl-W H
Ctrl-W L
Który podzieli pionowo okno w prawo lub w lewo.
Wydaje mi się, że jeśli istnieje, to sbuffer
powinno być, vsbuffer
ale to nie istnieje (nie żebym był tego świadomy)
Pamiętaj też, że nie szukam wtyczki do rozwiązania tego pytania. Wiem o bogactwie wtyczek, które pozwolą ci to zrobić.
Jestem pewien, że mogę przegapić coś, co już tam jest.
EDYCJA: W najlepszym duchu współpracy stworzyłem prostą funkcję z mapowaniem, jeśli ktoś inny natknie się na ten problem i nie chce instalować wtyczki:
Funkcjonować:
" Vertical Split Buffer Function
function VerticalSplitBuffer(buffer)
execute "vert belowright sb" a:buffer
endfunction
Mapowanie:
" Vertical Split Buffer Mapping
command -nargs=1 Vbuffer call VerticalSplitBuffer(<f-args>)
Realizuje to zadanie otwierania bufora w prawym podziale, więc dla bufora 1 można to nazwać tak:
:Vbuffer 1
vsbuffer N
? Denerwujący. Twoja odpowiedź jest trafna. Dzięki!vsbuffer
, a także często zapominamCtrl-w T
o otwarciu bufora w nowej karcie (lub chcę to zrobić z buforem, który nie jest obecnie aktywny ani widoczny). Więc jako alternatywę możesz użyć paska w każdym z tych przypadków, który wydaje mi się łatwiejszy do zapamiętania niż prawidłowa odpowiedź @ Jeet::vsp | b N
i:tabe | b N
.N
na autouzupełnianie (co nie wydaje się możliwe w przypadku polecenia w innej odpowiedzi). Niemniej jednak obaj głosowali za.:vsp | b1
1 to jakiś numer bufora. Służy
buffers
do wyświetlania wszystkich buforów.Oto dodatkowe informacje o podziałach, jeśli jesteś zainteresowany. Połączyć
źródło
:ls
, co wydaje się być skrótem do:buffers
.:vsp | b <buffer name>
Możesz złagodzić swój ból, dodając następujący plik do pliku .vimrc
Teraz możesz go używać w następujący sposób.
źródło
Możesz także łączyć,
:ls
które zawierają listę twoich bieżących buforów i poleceń otwierania żądanego buforu w jednym z nich:b <N/bufname>
:vsp | b <N/bufname>
:sp | b <N/bufname>
W tym celu dodałem następujące mapowania do mojego
~/.vimrc
(kolejność mapowań reprezentuje powyższą listę żądanych okien)Na tej podstawie możesz zobaczyć listę buforów zaraz po naciśnięciu
<leader>b
<leader>v
<leader>s
a następnie wprowadź żądany numer bufora
N
. Spowoduje to otwarcie bufora w wybranym oknie. Oczywiście nadal możesz użyć części nazwy buforabufname
.I zmapowali
<leader>
na,
podstawieDla niektórych osób (np. Dla mnie) może to nawet zastąpić wtyczki, takie jak MiniBufExpl, a tym samym zaoszczędzić miejsce na ekranie.
źródło
możesz użyć Neovim, w ten sposób:
źródło