美好的一天,
我有一个简单的函数我已经映射到 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
通过这种方式,我有效地获得了一个简短而简单的“在所有文件中查找”#34;功能所以我不必一直输入冗长的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>
答案 0 :(得分:6)
command! -nargs=1 MySearchFunction execute " grep -srnw --binary-files=without-match --exclude=*~ --exclude-dir=.svn . -e " . expand("<args>") . " " <bar> cwindow
map <C-l> :MySearchFunction <cword><CR>
我可能会建议查看ack和Ack.vim。