【发布时间】:2011-07-28 00:14:34
【问题描述】:
说,我有以下映射:
map <F4> :execute "vimgrep /" .expand("<cword>") . "/j **" <Bar> cw<CR>
它(递归地)在当前目录中查找光标下单词的实例,并在快速修复列表窗口中打开这些文件。
如何从 quickfix 窗口启动我在新选项卡中打开的文件? Enter 只是将我在窗口中的当前缓冲区更改为那个新文件。
【问题讨论】:
说,我有以下映射:
map <F4> :execute "vimgrep /" .expand("<cword>") . "/j **" <Bar> cw<CR>
它(递归地)在当前目录中查找光标下单词的实例,并在快速修复列表窗口中打开这些文件。
如何从 quickfix 窗口启动我在新选项卡中打开的文件? Enter 只是将我在窗口中的当前缓冲区更改为那个新文件。
【问题讨论】:
Quickfix-window 命令在创建时尊重switchbuf 选项
缓冲区。 switchbuf 选项具有 newtab 说明符
指示 Vim 在加载缓冲区之前打开一个新的标签页
切换到。如果有人通过
:set switchbuf+=newtab
快速修复窗口中的条目将在单独的选项卡中打开 页面。
usetab 说明符也可能在此有用
案子。它规定 Vim 切换到现有的标签页,如果它
包含一个显示目标缓冲区的窗口,而不是复制
它在一个新标签中。
:set switchbuf+=usetab,newtab
switchbuf 的值也(部分)影响其他
缓冲区切换命令,如:bfirst、:blast、:sbuffer、
:sbnext 和 :sbprevious。
【讨论】:
usetab 选项也非常方便!谢谢*∞
试试QFEnter插件怎么样?
您可以在新选项卡或新的垂直/水平拆分窗口中打开每个项目,而无需更改 switchbuf 选项。
它还允许您使用可视选择块一次打开多个快速修复项目。
【讨论】:
autocmd FileType qf nnoremap <buffer> <Enter> <C-W><Enter><C-W>T
如果你使用也可以:
tab copen
否则会首先拆分窗口,即使使用set switchbuf+=newtab。
【讨论】: