2011-08-21 31 views
9

Làm cách nào để lấy chiều rộng và chiều cao của cửa sổ hiện tại trong Vim?Phát hiện các kích thước cửa sổ chia

Tôi muốn tạo một phím nóng duy nhất để chia theo chiều dọc hoặc chiều ngang dựa trên kích thước của cửa sổ hiện tại, nhưng tôi không biết biến hoặc phương thức nào cần kiểm tra.

Cảm ơn!

Chỉnh sửa:

Đây là lệnh tôi hiện đang sử dụng trong trường hợp ai đó quan tâm.

command! SplitWindow call s:SplitWindow() 
function! s:SplitWindow()     
    let l:height=winheight(0) * 2  
    let l:width=winwidth(0)   
    if (l:height > l:width)     
    :split        
    else         
    :vsplit        
    endif         
endfunction 
+1

Các cuộc gọi đến 'winnr()' là dư thừa tại đây. Chỉ cần sử dụng 'winwidth (0)' và 'winheight (0)'. –

+0

Ah, cảm ơn! Đã sửa lỗi ở trên. – suderman

Trả lời

10

Xem winwidth()winheight() chức năng. Cả hai đều lấy số lượng một cửa sổ dưới dạng một đối số và ngược lại, chiều rộng (theo ký tự) và chiều cao (theo dòng) của cửa sổ được xác định bằng số đó. Zero là viết tắt cho cửa sổ hiện tại. Lưu ý rằng giá trị trả về bằng -1 khi không có cửa sổ tương ứng với số đã cho.

+0

Cảm ơn sự giúp đỡ của bạn! – suderman

Các vấn đề liên quan