我目前正在研究一些C++代码,这些代码通过宏定义了很多东西,我已经找到了以下正则表达式,在查找符号定义时,它在包含这些宏方面非常有效:
egrep -nrw --include=*.{c,h,i}{pp,xx} '^ *((struct|class|using|namespace) |typedef.*|[A-Z][_A-Z]*.)Symbol' .
我正在尝试将Ctrl+F映射到vim中的这个命令,目前有以下命令:
map <C-F> :tabnew<CR>:redraw!<CR>:r! egrep -nrw --include=*.{c,h,i}{pp,xx} '^ *((struct<bar>class<bar>using<bar>namespace) <bar>typedef.*<bar>[A-Z][_A-Z]*.)Symbol' .
这是可行的,但如果能自动替换
Symbol
当我按Ctrl+F时,光标下有单词。我最好的猜测是更换
象征
具有
<C-r><C-w>
,但这似乎失败了,因为前面的命令将光标从我要查找的符号上移开。
我如何让vim记住
<C-反应>&书信电报;C-w>
以便我稍后插入?
(此外,我猜这种方法可能需要一些改进。我看到过一个特殊的窗口,显示编译器错误,之前它作为拆分缓冲区打开,当我点击enter时,它会跳到那个位置。类似的东西也会很有用。)