安装:在MacVim上安装MiniBufExplorer插件,在顶部展开窗口,同时安装Taglist插件,在右侧展开窗口。
由于我把Taglist放在右侧,每当我打开快速修复窗口时,它就会位于极右边,在Taglist窗口下方(与Taglist窗口具有相同的宽度)。
是否可以更改默认的打开位置逻辑,使得快速修复窗口将打开在我的主要代码窗口下面(向下和向左)或者可能在Vim视口底部展开整个宽度?
安装:在MacVim上安装MiniBufExplorer插件,在顶部展开窗口,同时安装Taglist插件,在右侧展开窗口。
由于我把Taglist放在右侧,每当我打开快速修复窗口时,它就会位于极右边,在Taglist窗口下方(与Taglist窗口具有相同的宽度)。
是否可以更改默认的打开位置逻辑,使得快速修复窗口将打开在我的主要代码窗口下面(向下和向左)或者可能在Vim视口底部展开整个宽度?
虽然无法更改:copen
命令的默认拆分窗口行为,但可以通过两种方法解决此问题。
1. 使用直接修改窗口拆分方向的命令(参见:help :vertical
和以下内容,直到“关闭窗口”段落)。
例如,考虑以下命令:
:botright copen
或者:botright cwindow
使quickfix窗口成为最下方的窗口,甚至更低:
:vertical topleft cwindow
打开窗口并将其放置在当前窗口的左上角。
这些命令可以简写为:bo cope
、:bo cw
和:vert to cw
。当然,您也可以创建一个快捷映射或自定义命令以便快速调用。
2. 另外,您可以使用自动命令将快速修复窗口移到窗口布局底部:
:autocmd FileType qf wincmd J
这个触发器利用了 quickfix 窗口可以通过文件类型qf
轻松区分的特点。wincmd J
命令等同于 [Ctrl+W, Shift+J] 快捷键序列,指示 Vim 将当前窗口移动到屏幕底部(请参阅:help :wincmd
和:help ^WJ
)。
默认情况下,Vim在水平分割时会将新窗口打开在当前窗口的上方,在垂直分割时会将其打开在当前窗口的左侧(:help opening-window
)。您可以像大多数其他Vim设置一样自定义此行为:
使新窗口出现在当前窗口下方。
:set splitbelow
使新窗口出现在右侧。
:set splitright
:help ftplugin
以了解有关编写文件类型插件的信息。 - ib.autocmd
完美解决了这个问题。但我很好奇...你是怎么找到这个方法的呢?我在文档中试图找到相关信息,但除了:botright copen
之外什么都没有找到。 - oliver