2010-12-31 37 views
136

Nếu bạn đang chỉnh sửa tệp trong VIM và sau đó bạn cần mở bộ đệm hiện có (ví dụ: từ danh sách đệm: :buffers) làm cách nào để mở bộ đệm theo chiều dọc?Mở bộ đệm dưới dạng chia dọc trong VIM

Tôi biết rằng bạn đã có thể mở nó bằng một bình thường chia rẽ như:

:sbuffer N 

wehere N là số bộ đệm mà bạn muốn, tuy nhiên, mở ra ở trên rằng N đệm theo chiều ngang, không theo chiều dọc.

Tôi cũng lưu ý rằng bạn có thể thay đổi vị trí cửa sổ sau khi mở cửa và có một tách dọc như vậy:

Ctrl-W H 
Ctrl-W L 

nào theo chiều dọc sẽ chia cửa sổ bên phải hoặc bên trái.

Dường như với tôi rằng nếu có một sbuffer cần có một vsbuffer nhưng điều đó không tồn tại (không phải là tôi biết)

Ngoài ra, xin lưu ý rằng tôi không tìm kiếm một plugin để giải quyết câu hỏi này. Tôi biết về một loạt các plugin cho phép bạn làm điều này.

Tôi chắc chắn tôi có thể thiếu một thứ gì đó đã có ở đó.

EDIT: Với tinh thần tốt nhất của sự hợp tác, tôi đã tạo ra một chức năng đơn giản với một Mapping nếu ai đó tình cờ qua vấn đề này và không muốn cài đặt một plugin:

Chức năng:

" Vertical Split Buffer Function 
function VerticalSplitBuffer(buffer) 
    execute "vert belowright sb" a:buffer 
endfunction 

Mapping:

" Vertical Split Buffer Mapping 
command -nargs=1 Vbuffer call VerticalSplitBuffer(<f-args>) 

này hoàn thành nhiệm vụ mở một bộ đệm trong tích tắc đúng, vì vậy cho đệm 1, bạn sẽ gọi nó là như:

:Vbuffer 1 

Trả lời

151

Hãy thử:

:vert sb N 

đó sẽ mở ra một sự chia rẽ dọc bên trái (theo mặc định, trừ khi bạn đã sửa đổi một số tùy chọn).

Để mở một sự chia rẽ bên phải, mặt khác:

:vert belowright sb N 
+4

không nó có vẻ khá kỳ quặc để không có ' 'vsbuffer N''? Làm phiền. Câu trả lời của bạn làm móng nó. Cảm ơn! – alfredodeza

+12

Tôi luôn luôn cảm thấy như có một 'vsbuffer' quá, và tôi cũng thường quên' Ctrl-w T' để mở một bộ đệm trong một tab mới (hoặc tôi muốn làm điều đó với một bộ đệm hiện không hoạt động hoặc có thể nhìn thấy) . Vì vậy, thay vào đó, bạn có thể sử dụng một thanh cho một trong các trường hợp này, mà tôi thấy dễ nhớ hơn câu trả lời hợp lệ của @ Jeet: ': vsp | b N' và ': tabe | b N'. – ches

+0

Tôi thích rằng lệnh này cho phép 'N' được tự động hoàn thành (có vẻ như không thể thực hiện được với câu lệnh trong câu trả lời khác). Cả hai đều upvoted, tuy nhiên. –

91

:vsp | b1

1 là một số số đệm. Sử dụng buffers để liệt kê tất cả bộ đệm.

Dưới đây là một số thông tin bổ sung về chia tách, nếu bạn quan tâm. Link

+0

Cảm ơn, có vẻ là một lựa chọn tốt cho một @Jeet được cung cấp. – russoue

+6

Bạn cũng có thể sử dụng ': ls', mà có vẻ là một phím tắt cho': bộ đệm'. – dskecse

+0

Điều này đáng nhớ hơn câu trả lời đã chọn. Cảm ơn! – agarie

0

bạn có thể sử dụng Neovim, như thế:

autocmd FileType python nmap <F5> :rightbelow vertical split <bar> :term python %<cr> 
Các vấn đề liên quan