【发布时间】:2012-10-20 04:12:15
【问题描述】:
早安,
我有一个简单的函数,我已映射到 CTRL+L,我在正常模式下使用它来搜索单词或变量项目中的所有实例:
" Find all occurences in files
map <C-l> :execute " grep -srnw --binary-files=without-match --exclude=*~ --exclude-dir=.svn . -e " . expand("<cword>") . " " <bar> cwindow<CR>
我正在尝试用它来制作命令模式功能,以便我可以执行以下操作:
:mySearchFunction wordToFind
这样,我有效地获得了一个简短而简单的“在所有文件中查找”功能,因此我不必一直输入冗长的 grep 函数。我曾尝试在函数. -e " .expand... 之后修改代码,但我不熟悉编写VI/VIM 函数。我熟悉 C 和 BASH 脚本,但我无法让这个函数按预期工作。
我可以帮助我从我的这个映射中创建一个命令模式函数吗?
谢谢。
编辑:从@Conner 发布修改后的答案。也排除了 CTAGS tags 文件。
command! -nargs=1 SearchAll execute " grep -srnw --binary-files=without-match --exclude={*~,tags} --exclude-dir=.svn . -e " . expand("<args>") . " " <bar> cwindow
map <C-l> :SearchAll <cword><CR>
【问题讨论】: