关于alfred:修改ctags让fzfvim插件显示CC方法声明的标签

背景在 vim 中应用 fzf.vim 插件能够进行不便的搜寻文件, 源码TAG, GIT 记录等, 最近抽空看了下 BTags 命令在 c, c++ 文件中, 无奈显示头文件中的函数申明 标签问题. 比方在头文件中有如下一个函数申明, 应用 BTags 命令是无奈显示出这个函数原型的. /*=========================================================================函 数 名: IMGVideoAlgOpen功 能: 算法初始化算法实现: 无参 数: pvHandle 算法句柄[in]emIMGAlgType 算法类型[in]pvOpen 初始化构造体指针[in]返 回 值: 返回函数调用信息===========================================================================*/int IMGVideoAlgOpen(void** pvHandle, EMIMGAlgType emIMGAlgType, void* pvOpen);剖析通过代码定位, 在 ~/.vim/bundle/fzf.vim/autoload/fzf/vim.vim 文件中, 能够看到 BTags 是通过 ctags 生成的标签. " query, [tag commands], [spec (dict)], [fullscreen (bool)]function! fzf#vim#buffer_tags(query, ...) ... let sort = has('unix') && !has('win32unix') && executable('sort') ? '| sort -s -k 5' : '' let tag_cmds = (len(args) > 1 && type(args[0]) != type({})) ? remove(args, 0) : [ \ printf('ctags -f - --sort=yes --excmd=number --language-force=%s %s 2> %s %s', get({ 'cpp': 'c++' }, &filetype, &filetype), escaped, null, sort), \ printf('ctags -f - --sort=yes --excmd=number %s 2> %s %s', escaped, null, sort)] ...endfunction通过在命令行执行 ctags 命令, 的确是没有生成函数申明的标签. ...

February 20, 2023 · 2 min · jiezi