我通常使用
在我的cscope索引代码库上的文件之间跳转:cscope find f <filename>
我正在尝试定义一个键盘快捷键,以防止我每次都输入“:cscope find f”。按下此快捷方式将显示输入提示,我将在cscope数据库中输入文件名的一部分。如果有多个文件,它会显示文件列表,我可以从中选择要转到的文件。到目前为止,我已经做到了这一点,但由于我完全不熟悉VIM脚本,我无法完成它。 (到目前为止,我编写的内容取自另一个问题,感谢Eelvex)。
有人可以为我更正以下脚本吗? 我尝试使用此快捷方式时遇到了很多错误
function! GetPat()
call inputsave()
let filename = input("Enter filename: ")
call inputrestore()
return filename
endfunction
map ` :cscope find f '.GetPat().'<CR>
答案 0 :(得分:2)
映射不会等待您输入输入然后继续。此外,映射是错误的,请记住映射的工作方式就像您键入文本一样,您可能会使用(未经测试)使用类似的东西:
noremap <expr> ` ':cscope find f '.GetPat()."\<CR>"
但为什么不呢:
noremap ` :cscope find f<space>
这会让你在最后一个空格准备好进入你的模式后,只需点击输入。