Hi,
Here is a small patch for specifying a window in which vim opens
an error when you hit ENTER in a quickfix window.
With this patch, you may hit "3<CR>" in the quickfix window,
then the selected error is displayed in the window #3.
Often I face a situation that I want to display an error,
but don't want to hide a buffer in the above window
or open a new window and break window layout.
I think this feature would be helpful in such time.
What do you people think about this?
Regards,
--
AOYAMA Shotaro
mailto:[EMAIL PROTECTED]
*** normal.c.orig Mon Jan 1 02:32:09 2007
--- normal.c Mon Jan 1 04:09:05 2007
***************
*** 5900,5909 ****
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
/* In a quickfix window a <CR> jumps to the error under the cursor. */
if (bt_quickfix(curbuf) && cap->cmdchar == CAR)
if (curwin->w_llist_ref == NULL)
! do_cmdline_cmd((char_u *)".cc"); /* quickfix window */
else
! do_cmdline_cmd((char_u *)".ll"); /* location list window */
else
#endif
{
--- 5900,5924 ----
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
/* In a quickfix window a <CR> jumps to the error under the cursor. */
if (bt_quickfix(curbuf) && cap->cmdchar == CAR)
+ {
+ char wincmd_buf[32];
+ char jumpcmd_buf[32];
+ linenr_T lnum;
+
+ lnum = curwin->w_cursor.lnum;
+
+ if (cap->count0 != 0)
+ {
+ sprintf(wincmd_buf, "%dwincmd w", cap->count0);
+ do_cmdline_cmd((char_u *) wincmd_buf);
+ }
+
if (curwin->w_llist_ref == NULL)
! sprintf(jumpcmd_buf, "%dcc", lnum);
else
! sprintf(jumpcmd_buf, "%dll", lnum);
! do_cmdline_cmd((char_u *)jumpcmd_buf); /* quickfix window */
! }
else
#endif
{