2010-06-29 36 views
16

Tôi thường xem qua các tệp trợ giúp trong Vim, nhưng đôi khi tôi muốn đọc một tệp toàn màn hình. Vì lệnh help: mở cửa sổ mới và đóng cửa sổ cũ, nếu đó là cửa sổ duy nhất bên cạnh tập tin trợ giúp, vì lý do nào đó đóng Vim, cách duy nhất tôi tìm được là mở tập tin trợ giúp, và sau đó mở lại nó trong một tab mới.Làm cách nào để mở tệp trợ giúp trong Vim trên bộ đệm mới trong cửa sổ hiện tại?

Tôi tự hỏi, có cách nào để thực hiện: lệnh trợ giúp (hoặc một lệnh khác) để mở tệp trợ giúp trong cùng một cửa sổ, nhưng một bộ đệm mới?

Trả lời

22

Bạn có thể đang tìm kiếm :only hoặc CTRL-W o (cùng một lệnh). Điều này làm cho cửa sổ hiện tại là cửa sổ duy nhất trên màn hình. Tất cả các cửa sổ khác đều đóng.

Bạn cũng có thể theo chiều dọc chia cửa sổ giúp đỡ với:

:vert help {subject} 

BTW, :help thực sự không mở trong một bộ đệm mới, nó chỉ là "chưa niêm yết". Để liệt kê tất cả các bộ đệm, kể cả những người chưa niêm yết:

:buffers! 
3

Bạn có thể sử dụng :help để mở cửa sổ giúp đỡ, sau đó Ctrl + W_ để làm cho rằng cửa sổ toàn màn hình (chủ yếu là, thấy tùy chọn winminheight).

+0

Wow, tôi không có ý tưởng mà bạn có thể thiết lập winminheight = 0 cho ẩn một cửa sổ! Trong khi đó là một thủ thuật tuyệt vời, sẽ vẫn * là một thanh nhỏ với tiêu đề của cửa sổ cũ, đó là lý do tại sao câu hỏi của tôi là về việc mở bộ đệm mới: P –

15

Nếu tôi hiểu câu hỏi một cách chính xác, tất cả các bạn cần phải làm là chuỗi các giúp đỡ gọi lệnh với chỉ lệnh:

 
:help <subject> | only 
7

Bạn có thể mở tab mới để được trợ giúp với :tab help. Điều này sẽ cung cấp cho bạn một trợ giúp toàn màn hình. Ngoài ra, hãy xem :help :tab.

+2

Một tùy chọn khác như sau khi nghĩ, mở cửa sổ hiện tại tab mới, 'Ctrl-W T'. –

1

Tôi đã viết một lệnh tùy chỉnh sử dụng vốn H như vậy (chỉ hoạt động chính xác như: h ngoại trừ việc nó sử dụng toàn bộ cửa sổ):

command! -nargs=1 -complete=help H call HelpFullScreen(<f-args>) 

function! HelpFullScreen(topic) 
    exe "h " . a:topic 
    wincmd j 
    try 
     clo 
    catch /^Vim(\a\+):E444:/ " can't close last window 
    endtry 
endfunction 

trình như một say mê!

6

:help thường sẽ mở một cửa sổ mới trừ khi bộ đệm cửa sổ đang hoạt động buftype đã là help. Vì vậy, để thực sự tái sử dụng một cửa sổ, bạn phải mở một bộ đệm trống mới trong cửa sổ đó với :enew, thay đổi buftype bằng :set buftype=help và sau đó phát hành :help <whatever>.

Để thuận tiện bạn có thể định nghĩa một lệnh để làm điều đó trong .vimrc của bạn:

command! -nargs=1 -complete=help H :enew | :set buftype=help | :h <args> 

Và sau đó sử dụng :H {subject} từ bất kỳ cửa sổ.

Sử dụng phương pháp này bạn thực sự sử dụng lại cửa sổ và cho phép bạn sử dụng C-^ để chuyển đến ví dụ thay thế. Nó cũng sẽ tôn trọng bố cục cửa sổ của bạn (cửa sổ tách, vv) không giống như các câu trả lời khác.

+0

Để 'C- ^' hoạt động, bạn cần thêm 'keepalt' trước': h ' –

0

Để mở kích thước đầy đủ tab mới với chủ đề của bạn mong muốn:

:tab help {subject} 
:tab h {subject} 

Đối tượng là bất kỳ :help lập luận hợp lệ.

Để chia cửa sổ hiện hành:

:vert help {subject} 
:vert h {subject} 
Các vấn đề liên quan