【发布时间】:2015-07-07 15:11:38
【问题描述】:
我想创建一个等待输入 THEN 的 vim 命令,它将在第一个命令之后自动执行 ':cw'。
这是我的尝试:
noremap <C-p> :exec ":ProjectGrep /".input('Search: ')"/ src/**"<CR>:cw
但是 ':cw' 在命令之后没有执行,它完成了 input()。
【问题讨论】:
我想创建一个等待输入 THEN 的 vim 命令,它将在第一个命令之后自动执行 ':cw'。
这是我的尝试:
noremap <C-p> :exec ":ProjectGrep /".input('Search: ')"/ src/**"<CR>:cw
但是 ':cw' 在命令之后没有执行,它完成了 input()。
【问题讨论】:
将以下 sn-p 添加到您的 vimrc 以使 Vim 在存在有效错误/位置时打开快速修复/位置窗口:
augroup qf
autocmd!
autocmd QuickFixCmdPost [^l]* cwindow
autocmd QuickFixCmdPost l* lwindow
augroup END
虽然 sn-p 解决了我认为是您的根本问题(在您的搜索命令后自动打开 quickfix 窗口),但不是您的实际问题。
无论如何,cwindow 应该是你的:ProjectGrep 命令调用的函数中的最后一个命令;不在映射级别。
【讨论】: