Dikey bölünmüş pencerede Vim yardımını açma


114

Yatay bölme yerine dikey bölünmüş bölmede açılması için Vim'den yardım almanın bir yolu var mı?

Yanıtlar:


127

:vertical( vert) çalışır:

:vert help

Ayrıca topleft( to) ve botright( bo) ile pencerenin solda / üstte veya sağda / altta bölünmesini kontrol edebilirsiniz . Örneğin, dikey bölmenin sağ penceresinde yardımı açmak için:

:vert bo help

2
bunu nasıl eşleştirebilirim ki koştuğumda: yardım ____ her zaman böyle açılıyor?
Tallboy

13
@Tallboy deneyin cnoremap help vert help. Bu, bir komut modu eşlemesi oluşturur, böylece helpkomut kipinde yazdığınızda genişlediğini görürsünüz vert help.
Keith Pinson

3
@Kazark: cnoremap help vert helpHer harfin helpkendi kendine görünmesini sağlar, böylece kelime helpkomut satırında görünmez. Bunu düzeltmenin bir yolu var mı? Belki başka bir şey cnoremap?
iconoclast

7
Daha iyileştirmek için: sen cabbrev kullanabilirsiniz yeniden tanımlamak h olarak vert h: :cabbrev h vert h. Sonra her :hyazdığınızda, otomatik olarak olarak genişler :vert h.
Aaron Shen

@AaronShen: en iyi çözüm (bu cevapla birlikte)!
gauteh

38

Haroogan ve Sean'ın yanıtlarına alternatif olarak, FileTypeetkinliği şu şekilde otomatik komut için kullanabilirsiniz :

autocmd FileType help wincmd L

Bununla birlikte, bu, herhangi bir yardım penceresinin konumunu değiştirecek ve baktığınız dosya değişirse, pencereyi manuel olarak yerleştirdikten sonra hareket ettirecektir. Ancak bunun herhangi bir çözümle ilgili bir sorun olduğuna inanıyorum.


2
Basit ve (doğru anlarsam) yan etkiler ihmal edilebilir. Neden bu kabul edilen cevap değil !? Ve neden tamamen alakasız bir yanıtın ( :vsplit) çok sayıda olumlu oyu var?
iconoclast

1
Hem bunu hem de Haroogan'ın cevaplarını basitlikleri için destekledim. Autocmd olaylarına pek aşina değilim ve help,*basitçe değil de sebebinin ne olduğunu merak ediyordum help. Ayrıca, bu komutun _vimrcyeni bir GVim örneğime ekleyip başlattığımda çalıştığını ancak mevcut GVim oturumumda komutu çalıştırdığımda çalışmadığını fark ettim (autocmd'yi manuel :set ft=helpolarak tetiklemem gerekiyor).
Anthony Geoghegan

Yorumunuz için teşekkürler: *aslında gerekli değildi. Mevcut oturum ve yeni oturum için anlayabildiğim kadarıyla, yeni oturumda vimrcherhangi bir değişikliğin etkili olması için, ayrıca dosya zaten arabellekte açıksa ve :helpsizi farklı bir dosyanın bir parçası, bunun bir autocmdetkisi olmayacak
EdJoJob

Aynı autocmd ile h'yi de ele almanın daha kısa bir yolu olacak mı? Şu anda fazladan bir satıra autocmd FileType help wincmd L autocmd FileType h wincmd L
yazıyorum

1
Bu autocmd, yardım dosyalarının dosya türüne bakarak sorunu giderir. Tüm yardım dosyaları dosya türündedir, bu nedenle dosya türünün helpayarında helpbu autocmd çalışacaktır. Bunu, :sef helppencerenizde bir bölünme varken herhangi bir dosyada yaparak test edebilirsiniz , böylece @ danbruegge'nin ikinci autocmd'sine ihtiyaç duyulmaz
EdJoJob

20

Herhangi bir komutu yeniden eşleştirmenize veya gibi garip takma adlar eklemenize gerek yok :Help. İşte çözüm. Oluşturmak ~/.vim/after/ftplugin/help.vimEğer özellikle herhangi Vim ayarları geçersiz nerede helpve orada aşağıdaki satırı ekleyin:

autocmd BufWinEnter <buffer> wincmd L

Bu kanca, herhangi bir helpdosyanın dikey bölünmede açılmasını sağlayacaktır . Dahası, Sean'ın cevabında açıklanan bir yan etkisi yoktur. Şahsen, bu benim için şimdiye kadar mükemmel bir çözüm.

Bu yardımcı olur umarım. İyi şanslar.


18

Bu komut şunu yapmalıdır:

:vert help

10
Ben anlamadım. Tüm :vsplityaptığı, mevcut pencereyi dikey olarak bölmektir. Bu açılma dikey bir bölmede nasıl yardımcı olur?
doubleDown

7

Bunu şuraya koy .vimrc:

command -nargs=* -complete=help Help vertical belowright help <args>

Artık :Helpkomutla dikey bir yardım açabilirsiniz (ilk harfin büyük harf olduğuna dikkat edin)


6

Yardım dosyalarının her zaman sağda dikey olarak açılmasını sağlamak için, bunu vimrc'nize koyun:

augroup helpfiles
  au!
  au BufRead,BufEnter */doc/* wincmd L
augroup END

Bu, yolunda "doc" olan herhangi bir şeyin dikey bir bölünmede açılması gibi yan etkiye sahip olacaktır, ancak bu sizin için sorun olmayabilir. Benim için değil. Sol dikey bölmede veya bunun için başka herhangi bir şekilde açılmasını tercih ederseniz, değiştirebilirsiniz wincmd L. Bununla ilgili daha fazla bilgi edinebilirsiniz:he wincmd


1
Bölünmeden önce dosya türünü kontrol edin,:au BufEnter */doc/* if &filetype=='help' | wincmd L | endif
rox

Bu harika! autocmd FileType help wincmd Lbenim için sadece bir kez çalışıyor, bu çok iyi çalışıyor!
voldikss


3

Bu, yardım penceresini bir kez hareket ettirir . Böylece, pencere oluşturulduktan sonra özgürce hareket ettirebilirsiniz.

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

İşlev, pencere başına ILikeHelpToTheRight()yalnızca bir wincmd Lkez çalışır ( w:önek bunun içindir).

Bu daha sonra bir "yardım" dosyası her açıldığında çağrılır. Bu, EdJoJob'un çözümünün yan etkilerine sahip değildir.


2

Geçerli sekmede birden fazla pencere varsa üstte veya yalnızca bir pencere varsa sağda dinamik olarak yardım pencerelerini açın:

if winnr('$') > 2
    wincmd K
else
    wincmd L
endif

Bunu yerleştirmeniz ftplugin/help.vimveya aşağıdakilerle kullanmanız gerekir autocmd, örneğin:

augroup my_filetype_settings
autocmd!
autocmd FileType help if winnr('$') > 2 | wincmd K | else | wincmd L | endif
augroup END

1

Bu, @ m42'nin cevabına eklemek içindir, ancak burada, yorumlara eklemek için SO'da henüz 50 temsilcim yok.

nnoremap <C-H> :vert bo help.Vimrc'ye ekle

Şimdi Normal modda Ctrl-H tuşlarına basmak, yardımı dikey olarak bölünmüş bir pencerede sağa doğru açmak için ön ekli Komut moduna geçecektir. help·En iyi sonuçlar için yapılandırma satırının sonuna <- 'den sonra bir boşluk ekleyin .

Bu eşleme, yatay olarak bölünmüş bir pencere açmak için hala :help\ kullanmanıza :hveya komut istemi otomatik olarak genişlemeden önceki yardım komutu geçmişinizde geçiş yapmanıza izin verir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.