如何更改Vim中quickfix窗口的默认位置?

如何更改Vim中quickfix窗口的默认位置?,vim,Vim,设置:MacVim的MiniBufExplorer插件窗口横跨整个顶部,标记列表插件窗口位于右侧 :set splitright 由于我将标记列表保持在右侧,每当我打开quickfix窗口时,它都位于最右侧,标记列表窗口的下方(与标记列表窗口的宽度相同) 是否可以更改默认打开位置逻辑,以便quickfix窗口将在我的主代码窗口下方(向下和向左)打开,或者可能在Vim视口底部的整个宽度范围内打开?默认情况下,Vim在当前窗口上方打开新窗口进行水平拆分,在当前窗口的左侧,用于垂直拆分(:help

设置:MacVim的MiniBufExplorer插件窗口横跨整个顶部,标记列表插件窗口位于右侧

:set splitright
由于我将标记列表保持在右侧,每当我打开quickfix窗口时,它都位于最右侧,标记列表窗口的下方(与标记列表窗口的宽度相同)


是否可以更改默认打开位置逻辑,以便quickfix窗口将在我的主代码窗口下方(向下和向左)打开,或者可能在Vim视口底部的整个宽度范围内打开?

默认情况下,Vim在当前窗口上方打开新窗口进行水平拆分,在当前窗口的左侧,用于垂直拆分(
:help opening window
)。您可以像Vim中的大多数其他东西一样自定义此行为:

使新窗口显示在当前窗口的下方

:set splitbelow
使新窗口显示在右侧

:set splitright

但无法更改默认的拆分窗口行为 在
:copen
命令中,可以通过两种方式处理问题

1。使用直接改变窗口拆分方向的命令 (参见
:help:vertical
和下面的“关闭窗口”段落)

例如,考虑命令:

:botright copen

要使quickfix窗口作为最底窗口打开,甚至打开,请执行以下操作:

:vertical topleft cwindow
将其打开到当前窗口的左上角

:set splitbelow
这些命令可以分别缩短为
:bo cope
:bo cw
,和
:vert to cw
。当然,还可以创建一个短映射或 用于快速调用的自定义命令

2。或者,将quickfix窗口移到窗口底部 使用自动命令进行布局:

:autocmd FileType qf wincmd J
此触发器利用了quickfix窗口可以 通过其文件类型,
qf
可以轻松区分。
wincmd J
命令 相当于 [Ctrl+W, Shift+J] 指示Vim将当前窗口移到当前位置的快捷方式序列
屏幕最底部(请参见
:help:wincmd
:help^WJ
)。

正常默认值似乎不适用于quickfix窗口。另外,下面的:set split没有效果。Quickfix窗口仍然出现在下方和右侧的井中,“:bo cope”起作用,并且相当短。如果我能设置一个默认值就好了。另一个选择是像我想大多数人一样使用左边的标签列表。我有点喜欢右边的side@dreyln我想出了另一个解决问题的办法。查看更新答案中的第二种方法。
wincmd J
也可以直接放置在~/.vim/ftplugin/qt.vim上,以及此文件类型的任何其他自定义项。@mMontu:当然,可以将该自定义项安排为文件类型插件。有关编写文件类型插件的信息,请参见
:help ftplugin
。太棒了!我想让quickfix窗口在默认情况下跨越整个宽度(vim的默认设置是垂直拆分中最右边的窗口)。你的
autocmd
做得很好。但我想知道…你是怎么发现的?我试图找到s.th。在文档中,但除了
:botright copen
之外,无法显示任何内容?