Hi,
On Mon, Dec 25, 2017 at 7:51 AM, lacygoill <[email protected]> wrote:
> To reproduce:
>
> vim -Nu NONE some_file
> :vim /./ %
> :leftabove copen
>
> I expected the window to be opened on the left, but instead Vim opens it on
> the right.
>
> According to :h :lefta:
>
> Doesn't work for |:execute| and |:normal|.
>
> So, I thought that maybe :leftabove doesn't work with :copen, like for
> :execute and :normal.
> But this remark is also present in :h :topleft and :h :botright, which
> doesn't prevent these modifiers to work with :copen:
>
> :bo copen
>
> Opens the quickfix window at the very bottom of the screen.
>
> :to copen
>
> Opens the quickfix window at the very top of the screen.
>
> I searched on the issue tracker (is:issue leftabove, is:issue aboveleft,
> is:issue belowright, is:issue rightbelow) but couldn't find anything which
> seemed relevant.
>
I am attaching a patch to do this. But I am not sure whether this behavior is
acceptable/expected. If you open the quickfix/location window in a vertically
split window, it is hard to read the lines. As the quickfix/location windows has
long lines, from a readability perspective, it makes sense to open it always as
a horizontally split window (either at the top or at the bottom).
- Yegappan
>
> The same issue applies for the quickfix commands lopen, cwindow and lwindow,
> as well as the modifier :rightbelow, and the synonyms :aboveleft,
> :belowright.
>
> ________________________________
>
> Environment:
>
> vim --version: VIM - Vi IMproved 8.0 Included patches: 1-1400
> Operating system: Ubuntu 16.04.3 LTS
> Terminal emulator: rxvt-unicode v9.22
> Terminal multiplexer: tmux 2.3
> $TERM: screen-256color
> Shell: zsh 5.3.1
>
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff --git a/src/quickfix.c b/src/quickfix.c
index 05e594628..02808e480 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -3229,10 +3229,14 @@ ex_copen(exarg_T *eap)
if ((eap->cmdidx == CMD_copen || eap->cmdidx == CMD_cwindow)
&& cmdmod.split == 0)
- /* Create the new window at the very bottom, except when
+ /* Create the new quickfix window at the very bottom, except when
* :belowright or :aboveleft is used. */
win_goto(lastwin);
- if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL)
+ /* Default is to open the window below the current window */
+ if (cmdmod.split == 0)
+ cmdmod.split = WSP_BELOW;
+ cmdmod.split |= WSP_NEWLOC;
+ if (win_split(height, cmdmod.split) == FAIL)
return; /* not enough room for window */
RESET_BINDING(curwin);