2012-07-10 16 views
7

thiết lập vimrc của tôi:Khi tôi chuyển minibufexplorer, làm thế nào để ngăn chặn thay đổi kích thước cửa sổ khi nerdtree là mở

nmap <silent><F1> :NERDTreeToggle<CR> 
nmap <silent><F2> :TMiniBufExplorer<CR> 
let g:miniBufExplMapWindowNavVim = 1 
let g:NERDTreeWinPos = "right" 

đầu tiên nó trông giống như:

-------------------------- 
| minibufexplorer | | 
--------------------- | 
|     | | 
| top    | | 
|     | | 
---------------------NERD| 
|     | | 
| btm    | | 
|     | | 
-------------------------- 

sau khi tôi bấm F2, minibufexplorer được toggled :

-------------------------- 
|     | |     
|     | | 
| top    | | 
|     | | 
---------------------NERD| 
|     | | 
| btm    | | 
|     | | 
-------------------------- 

ngay bây giờ, mọi thứ đều ok, nhưng khi tôi nhấn F2 lần nữa nd minibufexplorer xuất hiện sau đó cửa sổ đầu được thay đổi kích cỡ:

-------------------------- 
| minibufexplorer | | 
--------------------- | 
| top    | | 
---------------------NERD| 
|     | | 
|     | | 
|     | | 
| btm    | | 
|     | | 
-------------------------- 

Nếu không có cửa sổ nerdtree ở bên phải, nó sẽ không thay đổi kích thước. Vậy làm thế nào để dừng thay đổi kích thước cửa sổ khi nerdtree đang mở? (btw: xin lỗi, tôi không thể tải lên các bức ảnh cuz i chỉ có 8 danh tiếng.)

+0

Điều đó rất kì lạ khi nó chỉ xảy ra khi cửa sổ NERDTree mở; bạn đang sử dụng phiên bản vim và plugin nào? –

+0

vim = 7.3 NERD_tree_version = 4.2.0 minibufexpl> 6.4.4 – lSaint

Trả lời

5

Vấn đề là trên đường dây 450 của minibufexpl.vim: trong hàm StartExplorer, bạn sẽ tìm thấy set noequalalways. Từ :help equalalways:

Khi bật, tất cả các cửa sổ được tự động tạo cùng kích thước sau khi tách hoặc đóng cửa sổ. Điều này cũng xảy ra khi tùy chọn được bật. Khi tắt, việc chia nhỏ cửa sổ sẽ giảm kích thước của cửa sổ hiện tại và để các cửa sổ khác giống nhau. Khi đóng cửa sổ, các dòng phụ sẽ được gán cho cửa sổ bên cạnh nó (tùy thuộc vào 'splitbelow' và 'splitright'). Khi trộn theo chiều dọc và chiều ngang chia cửa sổ, một kích thước tối thiểu được tính toán và một số cửa sổ có thể lớn hơn nếu có chỗ. Tùy chọn 'eadirection' cho biết hướng kích thước bị ảnh hưởng. Thay đổi chiều cao và chiều rộng của cửa sổ có thể tránh được bằng cách đặt 'winfixheight' và 'winfixwidth' tương ứng. Nếu kích thước cửa sổ được chỉ định khi tạo kích thước cửa sổ mới hiện không được cân bằng (nó phức tạp, nhưng có thể được triển khai trong tương lai).

Đây là một phần của MiniBufExplorer và nếu bạn muốn nó hành xử khác nhau bạn hoặc sẽ phải change it yourself hoặc submit an issue cho tác giả.

+0

Tôi đã cố gắng: đặt đường đẳng thức và: đặt định giá, nhưng có cùng kết quả. – lSaint

+0

Điều đó là chính xác. MiniBufExplorer làm ': thiết lập noequalalways' khi bạn bắt đầu/mở nó. Đặt lại nó sẽ không giúp bạn, bởi vì nó sẽ chỉ xảy ra lần sau khi bạn mở nó. Như tôi đã nói trong câu trả lời, nếu bạn muốn nó hoạt động khác nhau, bạn sẽ phải tự thay đổi plugin hoặc gửi một vấn đề cho plugin được thay đổi. –

+0

Cảm ơn, anh chàng. Tôi nghĩ rằng tôi sẽ cố gắng đề nghị của bạn, cả hai :) – lSaint