vim 下使用 tags 跳转许多都跳不准。

vim 下使用 tags 跳转好多都跳不准。。。
我使用的 ctags.exe 是 Exuberant Ctags 5.8

生成 tags 的命令是:
  ctags    -R -f tags   --fields=+aiS --extra=+q --C++-kinds=+p --C++-types=+p *
这个命令还是网上 copy 来的vim 下使用 tags 跳转许多都跳不准。

发现在使用 vim 进行代码跳转的时候,总是没有那么理想,

比如我放到 HWND hTTWnd; 的 HWND 上,本意是想看看 HWND 的定义是怎么样的。
可是 Ctrl-] 后,代码跳到了 RPCASYNC.H 里:

typedef struct _RPC_ASYNC_STATE {
        ....
        //
        // Notification by window message
        //
        struct {
            HWND hWnd;
            UINT Msg;
            } HWND;                // <----------------- 跳到这行来了。。。



还有,cout 的定义找不到。

还有,有些与宏有关的好像根本没有处理,比如,我没有定义 UNICODE 宏,
可以 vim 在查找 GetWindowText 的时候,总是落在 GetWindowTextW 上,
而当时我的代码里调用到的应该是 GetWindowTextA ,

现在代码跳转后,我都要人工检查一下是不是跳对了。

我用 :ts BOOL 列出 BOOL 的 tag 有11处,可气的是默认跳转到第一处是:

typedef BOOL (__stdcall * FUNC_PrintWindow) \
(HWND hwnd, HDC hdcBlt, UINT nFlags);

这处与 BOOL 本身关系非常非常非常远vim 下使用 tags 跳转许多都跳不准。

求各位大侠教教小弟吧,vim 下使用 tags 跳转许多都跳不准。 怎么配置才能跳转得更加精准啊。。
我记得用 vs 2003 的时候,跳转总是很合我心意的
------解决方案--------------------
1 没有问题,就是跳转到定义的地方,很正常嘛
2 跳转之前高亮下,有可能有时候跳转光标没有停在当前行上是正常的!
  毕竟是工具而已,没那么智能的!
------解决方案--------------------
过度依赖工具会让使用工具的人变笨。
------解决方案--------------------
引用:
Quote: 引用:

1 没有问题,就是跳转到定义的地方,很正常嘛
2 跳转之前高亮下,有可能有时候跳转光标没有停在当前行上是正常的!
  毕竟是工具而已,没那么智能的!


可是我不只一次听别人说过,vim+tags 比 VC 的跳转要好用,而且也是很精确的。
如果本来就是这样的话,那好像 VC 的功能要好一些啊。
试想如果存在 3~4 个相同的 tagname, 我每次跳转之前还要思考一下,哪个才是我想要的,
那估计要不了多久我就神经衰弱了vim 下使用 tags 跳转许多都跳不准。

能用vs何苦逼自己去用vim
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

1 没有问题,就是跳转到定义的地方,很正常嘛
2 跳转之前高亮下,有可能有时候跳转光标没有停在当前行上是正常的!
  毕竟是工具而已,没那么智能的!


可是我不只一次听别人说过,vim+tags 比 VC 的跳转要好用,而且也是很精确的。
如果本来就是这样的话,那好像 VC 的功能要好一些啊。
试想如果存在 3~4 个相同的 tagname, 我每次跳转之前还要思考一下,哪个才是我想要的,
那估计要不了多久我就神经衰弱了vim 下使用 tags 跳转许多都跳不准。

能用vs何苦逼自己去用vim


vim 打起字来“啪嗒”,“啪嗒”地,感觉输入速度要比 vs 快那么一点点

恩,黑底白字比较有科技感,虽然已经土的掉渣了。XX联播有一次放一个新闻,说是某某是黑客,技术多牛多牛,然后就摆拍嘛,之间屏幕里一胖子在windows下开了个cmd,疯狂的敲着dir,屏幕上黑底白字的字符猛烈的滚动刷新着。