要实现在按下quickfix错误后跳转到一个空白缓冲区,你可以使用vim的autocmd(自动命令)来触发一个函数,在函数中执行相关操作。
以下是一个示例的解决方法:
" quickfix.vim
function! OpenBlankBuffer()
" 创建并切换到一个新的空白缓冲区
new
setlocal buftype=nofile
setlocal bufhidden=hide
setlocal noswapfile
setlocal nobuflisted
endfunction
" 当quickfix窗口打开时,执行OpenBlankBuffer函数
autocmd QuickFixCmdPost [^l]* cwindow | call OpenBlankBuffer()
autocmd QuickFixCmdPost l* lwindow | call OpenBlankBuffer()
" 启用quickfix.vim的自动命令
runtime autoload/quickfix.vim
现在,每当你按下quickfix错误时,将会打开一个新的空白缓冲区。
注意:这个解决方法假设你使用的是标准的quickfix窗口(使用:cn和:cp切换错误)。如果你使用的是其他插件或快捷键映射来处理错误,你可能需要相应地修改autocmd中的正则表达式。