我试图制作一个键映射,用于grep光标下的单词。这就是我到目前为止所拥有的:
map <Leader>g :grep -r '<C-R><C-W>' ./<CR><CR>:cw<CR>
我希望这只能找到当前正在处理的I类型的文件(例如,在.coffee文件中的grepping不会列出.js文件)。使用grep,您可以(例如):
grep -r --include='*.coffee' 'whatever' ./
仅搜索具有特定扩展名的文件。为此,我需要当前文件的扩展名。那么,获取当前文件扩展名的最简单方法是什么?
如果有更好的方法来完成这项任务,那也会很棒。
答案 0 :(得分:2)
当然,在我放弃并询问SO之后,我想出来了......
map <Leader>g :grep -r --include='*.<C-R>=expand('%:e')<CR>' '<C-R><C-W>' ./<CR><CR>:cw<CR>
expand()返回有关当前缓冲区的各种信息。退房:help expand()了解详情。
在这种情况下,expand('%:e')返回当前文件的扩展名。
在命令行模式下,&lt; C-R&gt; = some_function()&lt; CR&gt;将在命令行中插入some_function()的结果。