Czy istnieje sposób, aby Vim otwierał pomoc w pionowym podzielonym panelu zamiast poziomym?
114
:vertical
( vert
) działa:
:vert help
Możesz także kontrolować, czy okno zostanie podzielone po lewej / u góry lub po prawej / u dołu za pomocą topleft
( to
) i botright
( bo
) . Na przykład, aby otworzyć pomoc w prawym oknie podziału pionowego:
:vert bo help
cnoremap help vert help
. Tworzy to mapowanie trybu poleceń, tak że po wpisaniuhelp
w trybie poleceń zobaczysz, że rozwija się dovert help
.cnoremap help vert help
sprawia, że każda litera whelp
pojawia się sama, więc słowohelp
nie pojawia się w linii poleceń. Czy jest jakiś sposób, aby to naprawić? Może coś innego niżcnoremap
?h
jakovert h
::cabbrev h vert h
. Następnie za każdym razem:h
, gdy piszesz, automatycznie rozwinie się do:vert h
.Jako alternatywę dla odpowiedzi Haroogana i Seana możesz użyć
FileType
zdarzenia dla autokomendy w następujący sposób:Chociaż spowoduje to zmianę położenia każdego okna pomocy, a także przeniesienie okna po ręcznym umieszczeniu go, jeśli plik, którego szukasz, ulegnie zmianie. Ale uważam, że jest to problem z każdym rozwiązaniem.
źródło
:vsplit
) ma wiele głosów za !?help,*
zamiast po prostuhelp
. Zauważyłem również, że to polecenie działa, gdy dodam je do mojego_vimrc
i uruchomię nową instancję GVim, ale nie, gdy uruchomię polecenie w mojej bieżącej sesji GVim (muszę ręcznie:set ft=help
uruchomić autocmd).*
właściwie nie był potrzebny. O ile rozumiem, dla bieżącej sesji w porównaniu z nową sesją, w nowej sesji będziesz musiał ponownievimrc
pobrać swoje źródło, aby wszelkie zmiany odniosły skutek, dodatkowo, jeśli plik jest już otwarty w buforze i:help
po prostu przenosi Cię do innego część pliku, to nieautocmd
będzie miało żadnego efektuautocmd FileType help wincmd L
autocmd FileType h wincmd L
help
pliku, więc przy ustawieniu typuhelp
pliku ten autocmd będzie działał. Możesz to przetestować, robiąc:sef help
w dowolnym pliku, gdy w oknie jest podział, więc drugi autocmd @ danbruegge nie będzie potrzebnyNie ma potrzeby zmieniania żadnych poleceń ani wprowadzania dziwnych aliasów, takich jak
:Help
. Oto rozwiązanie. Utwórz miejsce, w~/.vim/after/ftplugin/help.vim
którym możesz nadpisać wszelkie ustawienia Vima, szczególnie dlahelp
i dodaj tam następującą linię:Ten hak zapewni, że każdy
help
plik zostanie otwarty w podziale pionowym. Ponadto nie ma efektu ubocznego opisanego w odpowiedzi Seana. Osobiście jest to jak dotąd idealne rozwiązanie dla mnie.Mam nadzieję że to pomoże. Powodzenia.
źródło
To polecenie powinno to zrobić:
źródło
:vsplit
to dzieli bieżące okno w pionie. W jaki sposób to otwarcie pomaga w okienku pionowym?Umieść to w swoim
.vimrc
:Teraz możesz otworzyć pomoc pionową za pomocą
:Help
polecenia (zauważ, że pierwsza litera jest wielka)źródło
Aby pliki pomocy były zawsze otwierane w pionowym podziale po prawej stronie, umieść to w swoim vimrc:
Będzie to miało taki efekt uboczny, że cokolwiek z „dokumentem” na swojej ścieżce będzie otwarte w pionie, ale może to nie stanowić problemu. To nie jest dla mnie. Jeśli wolisz, aby otwierał się w pionowym podziale po lewej stronie lub cokolwiek innego, możesz to zmienić
wincmd L
. Możesz dowiedzieć się więcej na ten temat z:he wincmd
źródło
:au BufEnter */doc/* if &filetype=='help' | wincmd L | endif
autocmd FileType help wincmd L
działa u mnie tylko raz, działa bardzo dobrze!Umieść następujące informacje w swoim
~/.vim/ftplugin/help.vim
Nie może być prostsze niż to :)
źródło
Spowoduje to jednokrotne przeniesienie okna pomocy . Możesz więc dowolnie przesuwać go po utworzeniu okna.
Funkcja
ILikeHelpToTheRight()
będzie działać tylkowincmd L
raz na okno (do tegow:
służy prefiks).Jest to następnie wywoływane za każdym razem, gdy otwierany jest plik „pomocy”. Nie ma to skutków ubocznych rozwiązania EdJoJob.
źródło
Dynamicznie otwieraj okna pomocy u góry, jeśli na bieżącej karcie jest więcej niż jedno okno, lub po prawej, jeśli jest tylko jedno okno:
Będziesz musiał to umieścić
ftplugin/help.vim
lub użyć zautocmd
np .:źródło
Ma to na celu dodanie do odpowiedzi @ m42, ale nie mam jeszcze 50 powtórzeń w SO, które należy dodać do komentarzy.
Dodaj
nnoremap <C-H> :vert bo help
do .vimrcTeraz naciśnięcie Ctrl-H w trybie normalnym spowoduje przejście do trybu poleceń z prefiksem otwierającym pomoc w oknie podzielonym pionowo po prawej stronie. Uwzględnij spację na końcu po
help·
<- na końcu linii konfiguracji, aby uzyskać najlepsze wyniki.To mapowanie pozwala nadal używać
:help
\:h
do otwierania okna podzielonego w poziomie lub przechodzenia przez historię poprzednich poleceń pomocy bez automatycznego rozszerzania zachęty.źródło