有时当我写错了剧本时,我真的不知道它为什么没有预期的效果。例如,以下脚本:
nnoremap gr :call Look_For_String()<CR><C-L>
function! Look_For_String()
exe "grep -R " . expand("<cword>") . &dir
endfunction
该函数用于搜索目录&dir
中光标下的当前单词,但它没有按预期执行。所以我想知道它执行了什么命令。那可能吗?
答案 0 :(得分:4)
在这种情况下,我要做的是将:execute
替换为:echomsg
,重新提供脚本(:so %
),然后重新执行。
对于更复杂的情况,您可以设置'verbose'
选项。值为15
时,将打印每个Ex命令。由于显示通常会干扰脚本的功能,因此通常建议通过设置'verbosefile'
将诊断输出重定向到文件。