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
      {

Reply via email to