2011-07-17 43 views
16

设置 - 的MacVim与MiniBufExplorer插件窗口横跨整个顶部,并标记列表右侧改变quickfix窗口的默认位置在Vim中

插件窗口由于这样的事实,我把我的标记列表右侧,每当我打开quickfix窗口,它的位置在Taglist窗口的最下方(与Taglist窗口的宽度相同)

是否可以更改默认打开位置逻辑,以便在我的主代码下方打开quickfix窗口窗口(向下和向左)还是跨越整个底部?

回答

26

虽然它很可能无法改变 的:copen命令默认拆分窗口的行为,可以通过两种方式处理这一问题。

第一种方式是使用直接改变窗口分割 方向(见:help :vertical和下方,直到“关闭窗口” 段落)的命令。

例如,考虑

:botright copen 

:botright cwindow 

使quickfix窗口的最下面一个,甚至

:vertical topleft cwindow 

把它开开当前窗口的左上角。

第二种方法是使用自动命令将quickfix窗口移动到窗口底部的 布局。

:autocmd FileType qf wincmd J 

该触发器利用这样的事实,所述quickfix窗口可以是 通过其文件类型,qf容易区分的优点。的wincmd J命令是 相当于Ctrl键 + W¯¯ + Ĵ 快捷告诉Vim在一个窗口移动到最底部(见:help :wincmd:help ^WJ)。


这些命令可以缩短为分别:bo cope:bo cw 。此外,可以为其快速调用创建一个短映射或一个自定义命令。

+0

,“:bo cope”确实有效,并且相当短。如果我可以设置默认值,那将会很好。另一种选择是像我猜大多数人那样只使用左侧的标签列表。我有点喜欢它在右侧 – dreyln

+1

@dreyln我想出了另一种解决问题的方法。看看更新后的答案中的第二种方法。 –

+0

@ ib-非常棒!感谢真棒解决方案! – dreyln

2

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

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

:set splitbelow 

使新窗口出现在右侧。

:set splitright 
+0

正常的默认值似乎不适用于quickfix窗口。另外,:set splitbelow没有效果。 Quickfix窗口仍然出现在右下方 – dreyln