Odpowiedzi:
: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 wpisaniu helpw trybie poleceń zobaczysz, że rozwija się do vert help.
cnoremap help vert helpsprawia, że każda litera w helppojawia się sama, więc słowo helpnie pojawia się w linii poleceń. Czy jest jakiś sposób, aby to naprawić? Może coś innego niż cnoremap?
h jako vert 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ć FileTypezdarzenia dla autokomendy w następujący sposób:
autocmd FileType help wincmd L
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.
:vsplit) ma wiele głosów za !?
help,*zamiast po prostu help. Zauważyłem również, że to polecenie działa, gdy dodam je do mojego _vimrci uruchomię nową instancję GVim, ale nie, gdy uruchomię polecenie w mojej bieżącej sesji GVim (muszę ręcznie :set ft=helpuruchomić 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ł ponownie vimrcpobrać swoje źródło, aby wszelkie zmiany odniosły skutek, dodatkowo, jeśli plik jest już otwarty w buforze i :helppo prostu przenosi Cię do innego część pliku, to nie autocmdbędzie miało żadnego efektu
autocmd FileType help wincmd L autocmd FileType h wincmd L
helppliku, więc przy ustawieniu typu helppliku ten autocmd będzie działał. Możesz to przetestować, robiąc :sef helpw dowolnym pliku, gdy w oknie jest podział, więc drugi autocmd @ danbruegge nie będzie potrzebny
Nie ma potrzeby zmieniania żadnych poleceń ani wprowadzania dziwnych aliasów, takich jak :Help. Oto rozwiązanie. Utwórz miejsce, w ~/.vim/after/ftplugin/help.vimktórym możesz nadpisać wszelkie ustawienia Vima, szczególnie dla helpi dodaj tam następującą linię:
autocmd BufWinEnter <buffer> wincmd L
Ten hak zapewni, że każdy helpplik 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.
To polecenie powinno to zrobić:
:vert help
:vsplitto dzieli bieżące okno w pionie. W jaki sposób to otwarcie pomaga w okienku pionowym?
Aby pliki pomocy były zawsze otwierane w pionowym podziale po prawej stronie, umieść to w swoim vimrc:
augroup helpfiles
au!
au BufRead,BufEnter */doc/* wincmd L
augroup END
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
:au BufEnter */doc/* if &filetype=='help' | wincmd L | endif
autocmd FileType help wincmd Ldziała u mnie tylko raz, działa bardzo dobrze!
Umieść następujące informacje w swoim ~/.vim/ftplugin/help.vim
wincmd L
Nie może być prostsze niż to :)
Spowoduje to jednokrotne przeniesienie okna pomocy . Możesz więc dowolnie przesuwać go po utworzeniu okna.
if has('autocmd')
function! ILikeHelpToTheRight()
if !exists('w:help_is_moved') || w:help_is_moved != "right"
wincmd L
let w:help_is_moved = "right"
endif
endfunction
augroup HelpPages
autocmd FileType help nested call ILikeHelpToTheRight()
augroup END
endif
Funkcja ILikeHelpToTheRight()będzie działać tylko wincmd Lraz na okno (do tego w: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.
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:
if winnr('$') > 2
wincmd K
else
wincmd L
endif
Będziesz musiał to umieścić ftplugin/help.vimlub użyć z autocmdnp .:
augroup my_filetype_settings
autocmd!
autocmd FileType help if winnr('$') > 2 | wincmd K | else | wincmd L | endif
augroup END
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 helpdo .vimrc
Teraz 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\ :hdo otwierania okna podzielonego w poziomie lub przechodzenia przez historię poprzednich poleceń pomocy bez automatycznego rozszerzania zachęty.