Câu trả lời:
:vertical( vert) hoạt động:
:vert help
Bạn cũng có thể kiểm soát xem cửa sổ phân chia ở bên trái / trên cùng hoặc bên phải / dưới cùng bằng topleft( to) và botright( bo) . Ví dụ: để mở trợ giúp trong cửa sổ bên phải của phần chia dọc:
:vert bo help
cnoremap help vert help. Điều này tạo ra một ánh xạ chế độ lệnh để khi bạn nhập helpvào chế độ lệnh, bạn sẽ thấy nó mở rộng đến vert help.
cnoremap help vert helptự helpxuất hiện từng chữ cái , vì vậy từ helpđó không xuất hiện trên dòng lệnh. Có cách nào để khắc phục điều đó? Có lẽ một cái gì đó khác hơn cnoremap?
h như vert h: :cabbrev h vert h. Sau đó, mỗi khi bạn nhập :h, nó sẽ tự động mở rộng thành :vert h.
Để thay thế cho câu trả lời của Haroogan và Sean, bạn có thể sử dụng FileTypesự kiện cho lệnh tự động như sau:
autocmd FileType help wincmd L
Mặc dù điều này sẽ thay đổi vị trí của bất kỳ cửa sổ trợ giúp nào cũng như di chuyển cửa sổ sau khi đặt thủ công nếu tệp bạn đang xem thay đổi. Nhưng tôi tin rằng đây là một vấn đề với bất kỳ giải pháp nào.
:vsplit) lại có rất nhiều phiếu tán thành !?
help,*thay vì đơn giản help. Ngoài ra, tôi nhận thấy rằng lệnh này hoạt động khi tôi thêm nó vào của tôi _vimrcvà bắt đầu phiên bản mới của GVim nhưng không hoạt động khi tôi chạy lệnh trong phiên GVim hiện tại của mình (tôi phải :set ft=helpkích hoạt autocmd theo cách thủ công ).
*không thực sự cần thiết. Theo như tôi có thể hiểu đối với phiên hiện tại so với phiên mới, trong phiên mới, bạn sẽ cần phải lấy lại nguồn vimrcđể mọi thay đổi có hiệu lực, ngoài ra nếu tệp đã được mở trong bộ đệm và :helpchỉ đưa bạn đến một tệp khác một phần của tệp, điều này autocmdsẽ không có hiệu lực
autocmd FileType help wincmd L autocmd FileType h wincmd L
helploại tệp, do đó trên cài đặt của helploại tệp, autocmd này sẽ chạy. Bạn có thể kiểm tra điều này bằng cách:sef help trong bất kỳ tập tin trong khi có một sự chia rẽ trong cửa sổ của bạn, do đó @ autocmd thứ hai danbruegge của sẽ không cần thiết
Không cần phải remap bất kỳ lệnh nào hoặc giới thiệu các bí danh kỳ lạ như thế nào :Help. Đây là giải pháp. Tạo ~/.vim/after/ftplugin/help.vimnơi bạn có thể ghi đè bất kỳ cài đặt Vim nào đặc biệt cho helpvà thêm dòng sau vào đó:
autocmd BufWinEnter <buffer> wincmd L
Móc này sẽ đảm bảo rằng bất kỳ helptệp nào được mở theo chiều dọc. Hơn nữa, nó không có tác dụng phụ được mô tả trong câu trả lời của Sean. Cá nhân, đây là giải pháp hoàn hảo cho tôi cho đến nay.
Hi vọng điêu nay co ich. May mắn nhất.
Lệnh này sẽ làm điều đó:
:vert help
:vsplitlàm là chia cửa sổ hiện tại theo chiều dọc. Làm thế nào để mở này trợ giúp trong một ngăn dọc?
Để làm cho tệp trợ giúp luôn mở theo chiều dọc ở bên phải, hãy đặt tệp này vào vimrc của bạn:
augroup helpfiles
au!
au BufRead,BufEnter */doc/* wincmd L
augroup END
Điều này sẽ có tác dụng phụ là có bất cứ thứ gì có "doc" trong đường dẫn của nó được mở theo chiều dọc, nhưng đó có thể không phải là vấn đề đối với bạn. Nó không dành cho tôi. Nếu bạn muốn nó mở theo chiều dọc bên trái hoặc bất kỳ thứ gì khác cho vấn đề đó, bạn có thể thay đổi wincmd L. Bạn có thể tìm hiểu thêm về nó với:he wincmd
:au BufEnter */doc/* if &filetype=='help' | wincmd L | endif
autocmd FileType help wincmd Lchỉ hoạt động một lần cho tôi, điều này hoạt động rất tốt!
Đặt những điều sau vào của bạn ~/.vim/ftplugin/help.vim
wincmd L
Không thể đơn giản hơn thế này :)
Thao tác này sẽ di chuyển cửa sổ trợ giúp một lần . Vì vậy, bạn có thể tự do di chuyển nó xung quanh sau khi cửa sổ được tạo.
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
Hàm, ILikeHelpToTheRight()sẽ chỉ chạy wincmd Lmột lần cho mỗi cửa sổ (đó là những gìw: tiền tố dành cho).
Điều này sau đó được gọi bất cứ khi nào một tệp "trợ giúp" được mở. Điều này không có tác dụng phụ của giải pháp EdJoJob.
Tự động mở cửa sổ trợ giúp ở trên cùng nếu có nhiều cửa sổ trong tab hiện tại hoặc ở bên phải, nếu chỉ có một cửa sổ:
if winnr('$') > 2
wincmd K
else
wincmd L
endif
Bạn sẽ cần đặt cái này vào ftplugin/help.vimhoặc sử dụng nó với autocmd, ví dụ:
augroup my_filetype_settings
autocmd!
autocmd FileType help if winnr('$') > 2 | wincmd K | else | wincmd L | endif
augroup END
Điều này có nghĩa là để thêm vào câu trả lời của @ m42, nhưng tôi chưa có 50 đại diện ở đây về SO thích hợp để thêm vào các nhận xét.
Thêm nnoremap <C-H> :vert bo helpvào .vimrc
Bây giờ nhấn Ctrl-H ở chế độ Bình thường sẽ chuyển sang chế độ Lệnh, có tiền tố để mở trợ giúp trong cửa sổ được chia theo chiều dọc ở bên phải. Bao gồm một khoảng trắng sauhelp· <- ở cuối dòng cấu hình để có kết quả tốt nhất.
Ánh xạ này cho phép bạn vẫn sử dụng :help\ :hđể mở cửa sổ được chia theo chiều ngang hoặc duyệt qua lịch sử lệnh trợ giúp trước đó của bạn mà không cần tự động mở rộng lời nhắc.