Membuka bantuan Vim di jendela split vertikal


114

Apakah ada cara untuk mendapatkan bantuan Vim agar terbuka dalam panel pemisah vertikal daripada panel horizontal?

Jawaban:


127

:vertical( vert) bekerja:

:vert help

Anda juga dapat mengontrol apakah jendela terbelah di kiri / atas atau kanan / bawah dengan topleft( to) dan botright( bo) . Misalnya, untuk membuka bantuan di jendela kanan pemisahan vertikal:

:vert bo help

2
bagaimana saya bisa memetakannya sehingga ketika saya menjalankan: help ____ selalu terbuka seperti itu?
Tallboy

13
@Tallboy Coba cnoremap help vert help. Ini membuat pemetaan mode perintah sehingga saat Anda mengetik helpdalam mode perintah, Anda akan melihatnya meluas ke vert help.
Keith Pinson

3
@Kazark: cnoremap help vert helpmembuat setiap huruf helpmuncul dengan sendirinya, sehingga kata helptersebut tidak muncul di baris perintah. Apakah ada cara untuk memperbaikinya? Mungkin sesuatu selain cnoremap?
iconoclast

7
Untuk meningkatkan lagi: Anda dapat menggunakan cabbrev untuk mendefinisikan kembali h sebagai vert h: :cabbrev h vert h. Kemudian setiap kali Anda mengetik :h, secara otomatis akan meluas menjadi :vert h.
Aaron Shen

@AaronShen: solusi terbaik (digabungkan dengan jawaban ini)!
gauteh

38

Sebagai alternatif dari jawaban Haroogan dan Sean, Anda dapat menggunakan FileTypeacara tersebut untuk perintah otomatis seperti ini:

autocmd FileType help wincmd L

Meskipun ini akan mengubah posisi jendela bantuan apa pun serta memindahkan jendela setelah menempatkannya secara manual jika file yang Anda lihat berubah. Tetapi saya percaya bahwa ini adalah masalah dengan solusi apa pun.


2
Sederhana, dan (jika saya mengerti dengan benar) efek sampingnya dapat diabaikan. Mengapa ini bukan jawaban yang diterima !? Dan mengapa jawaban yang sama sekali tidak relevan ( :vsplit) memiliki banyak suara positif !?
iconoclast

1
Saya memuji ini dan jawaban Haroogan untuk kesederhanaannya. Saya tidak terlalu akrab dengan kejadian autocmd dan saya bertanya-tanya apa alasannya, help,*bukan sekadar help. Juga, saya perhatikan bahwa perintah ini berfungsi ketika saya menambahkannya ke saya _vimrcdan memulai contoh baru GVim tetapi tidak ketika saya menjalankan perintah dalam sesi GVim saya saat ini (saya harus secara manual :set ft=helpmemicu autocmd).
Anthony Geoghegan

Terima kasih atas komentarnya: *sebenarnya tidak diperlukan. Sejauh yang saya mengerti untuk sesi saat ini vs sesi baru, di sesi baru Anda perlu melakukan sumber ulang vimrcagar perubahan apa pun diterapkan, selain itu jika file sudah terbuka di buffer dan :helphanya membawa Anda ke tempat lain. bagian dari file, ini tidak autocmdakan berpengaruh
EdJoJob

Apakah akan ada cara yang lebih singkat untuk juga mengatasi: h dengan autocmd yang sama? Saat ini saya menulisnya di baris tambahan:autocmd FileType help wincmd L autocmd FileType h wincmd L
danbruegge

1
Autocmd ini mengatasi masalah dengan melihat jenis file dari file bantuan. Semua file bantuan adalah jenis helpfile, sehingga pada pengaturan jenis helpfile, autocmd ini akan berjalan. Anda dapat mengujinya dengan melakukan ini :sef helpdi file mana pun saat jendela Anda terbelah, sehingga autocmd kedua @ danbruegge tidak diperlukan
EdJoJob

20

Tidak perlu memetakan ulang perintah apa pun atau memperkenalkan alias aneh seperti :Help. Inilah solusinya. Buat di ~/.vim/after/ftplugin/help.vimmana Anda dapat mengganti pengaturan Vim khusus untuk helpdan menambahkan baris berikut di sana:

autocmd BufWinEnter <buffer> wincmd L

Pengait ini akan memastikan bahwa helpfile apa pun dibuka dalam pemisahan vertikal. Lebih jauh, itu tidak memiliki efek samping yang dijelaskan dalam jawaban Sean. Secara pribadi, ini adalah solusi sempurna untuk saya sejauh ini.

Semoga ini membantu. Semoga berhasil.


18

Perintah ini harus melakukannya:

:vert help

10
Saya tidak mengerti ini. Semua yang :vsplitdilakukan adalah membagi jendela saat ini secara vertikal. Bagaimana ini membuka bantuan di panel vertikal?
doubleDown

7

Taruh ini di .vimrc:

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

Sekarang Anda dapat membuka bantuan vertikal dengan :Helpperintah (perhatikan bahwa huruf pertama adalah huruf besar)


6

Untuk membuat file bantuan selalu terbuka dalam pemisahan vertikal di sebelah kanan, letakkan ini di vimrc Anda:

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

Ini akan memiliki efek samping karena semua yang memiliki "doc" di jalurnya terbuka dalam pemisahan vertikal, tetapi itu mungkin tidak menjadi masalah bagi Anda. Ini bukan untukku. Jika Anda lebih suka membuka dalam perpecahan vertikal kiri, atau apa pun dalam hal ini, Anda dapat mengubahnya wincmd L. Anda dapat mempelajarinya lebih lanjut dengan:he wincmd


1
Periksa jenis file sebelum dibagi,:au BufEnter */doc/* if &filetype=='help' | wincmd L | endif
rox

Ini luar biasa! autocmd FileType help wincmd Lhanya bekerja satu kali untuk saya, ini bekerja dengan sangat baik!
voldikss


3

Ini memindahkan jendela bantuan satu kali . Jadi Anda dapat dengan bebas memindahkannya setelah jendela dibuat.

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

Fungsinya, ILikeHelpToTheRight()hanya akan berjalan wincmd Lsekali per jendela (untuk itulah w:awalannya).

Ini kemudian dipanggil setiap kali file "bantuan" dibuka. Ini tidak memiliki efek samping dari solusi EdJoJob.


2

Buka jendela bantuan secara dinamis di bagian atas jika terdapat lebih dari satu jendela di tab saat ini, atau di sebelah kanan, jika hanya ada satu jendela:

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

Anda harus menempatkan ini ftplugin/help.vimatau menggunakannya dengan autocmd, misalnya:

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

1

Ini dimaksudkan untuk menambah jawaban @ m42, tetapi saya belum memiliki 50 perwakilan di sini di SO layak untuk ditambahkan ke komentar.

Tambahkan nnoremap <C-H> :vert bo helpke .vimrc

Sekarang menekan Ctrl-H dalam mode Normal akan beralih ke mode Command, diawali untuk membuka bantuan di jendela yang terbelah secara vertikal ke kanan. Sertakan spasi setelah help·<- di akhir baris konfigurasi untuk hasil terbaik.

Pemetaan ini memungkinkan Anda untuk tetap menggunakan :help\ :huntuk membuka jendela yang terbagi secara horizontal atau menelusuri riwayat perintah bantuan Anda sebelumnya tanpa perluasan otomatis yang diminta.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.