QuickFix プチハック

'previewheight'と同様のオプション'quickfixheight'を追加する。

option.h
636a637
> EXTERN long	p_qfh;		/* 'quickfixheight' */

option.c
1966a1967,1973
>     {"quickfixheight", "qfh", P_NUM|P_VI_DEF,
> #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
>	    (char_u *)&p_qfh, PV_NONE,
> #else
>	    (char_u *)NULL, PV_NONE,
> #endif
>	    {(char_u *)10L, (char_u *)0L}},

quickfix.c
2218c2218
< 	height = QF_WINHEIGHT;
---
>

2218c2218
< 	height = QF_WINHEIGHT;
---
> 	height = p_qfh;
2276a2277
> 	    set_option_value((char_u *)"bl", 0L, (char_u *)"", OPT_LOCAL);

オプション追加は簡単だ。
すでにVimにはオプションが多すぎるからBram 氏も安易に追加したくないらしい。


ついでに :grep の場合は自動的に最初のエラーにジャンプしないようにした。

quickfix.c
2742c2743,2751
< 	qf_jump(qi, 0, 0, FALSE);		/* display first error */
---
> 	switch (eap->cmdidx)
> 	{
> 	case CMD_make:
> 	case CMD_lmake:
> 	    qf_jump(qi, 0, 0, FALSE);		/* display first error */
> 	    break;
> 	default:
> 	    break; 
> 	}
 	height = p_qfh;
lmake なんてコマンドがあったのか。Quickfixウィンドウの代わりにロケーションリストが使われるらしい。確かに
grepと:makeで同じウィンドウを使うのは不便だったなあ。しかしロケーションリストも微妙だな。どうせなら、各ロケーションリストに対して名前をつけて、ウィンドウに結びつけるのでなくvim全体で共有するようにした方がよかったのにと思う。