当我使用 vim 时,我偶尔会遇到这样的拆分菜单设置:
###############################################
# | | #
# | | #
# NERDTree | main window | tagbar #
# | | #
# | | #
###############################################
即使标签栏关闭,我也可能会得到类似的设置,例如当我比较不同的文件时。
但是,当我执行 vimgrep 命令时,结果(显示在快速修复列表中)仅在标签栏(或右侧的其他拆分)关闭时显示在主窗口下方。
因此,此设置每次都能正常工作:
###############################################
# | #
# | #
# NERDTree | main window #
# | #
# | #
# |__________________________________#
# | #
# | quickfix list: vimgrep results #
# | #
###############################################
...虽然这不是:
###############################################
# | | #
# | | #
# NERDTree | main window | tagbar #
# | | #
# | |________#
# | | quick- #
# | | fix #
# | | list: #
# | | vimgrep#
# | | results#
###############################################
如何强制快速修复列表始终在主窗口下方打开(包含 vimgrep 结果)?
目前,当且仅当 - 主窗口右侧没有其他拆分窗口时,它才会正确打开(在主窗口下方)。如果主窗口存在任何拆分,vimgrep 命令总是在那里打开 quickfix :/
我已经使用 vimgrep 命令绑定搜索当前光标下的单词(在整个文件中搜索这个单词):
nnoremap some-key :execute "vimgrep /\\<" . expand("<cword>") . "\\>/j ".expand("%") <Bar> cw<CR>
...只是为了展示我在用 vimgrep 做什么。