created 2007 · complexity basic · author AOYAMA Shotaro · version 6.0
When I do
:cw, a quickfix window opens with a 10-line height, even when the number of errors is 1 or 2. I think it's a waste of window space.
So I wrote the following code in my vimrc. With it, a quickfix window height is automatically adjusted to fit its contents (maximum 10 lines).
au FileType qf call AdjustWindowHeight(3, 10) function! AdjustWindowHeight(minheight, maxheight) exe max([min([line("$"), a:maxheight]), a:minheight]) . "wincmd _" endfunction
Of course, this function can be applied to other windows besides the quickfix window.
If you feel it's too tight, you may want to replace
For long lines
function! AdjustWindowHeight(minheight, maxheight) let l = 1 let n_lines = 0 let w_width = winwidth(0) while l <= line('$') " number to float for division let l_len = strlen(getline(l)) + 0.0 let line_width = l_len/w_width let n_lines += float2nr(ceil(line_width)) let l += 1 endw exe max([min([n_lines, a:maxheight]), a:minheight]) . "wincmd _" endfunction