代码之家  ›  专栏  ›  技术社区  ›  physicsmichael

从多个目录和多个扩展到VC++打开头文件到C/C++源文件

  •  4
  • physicsmichael  · 技术社区  · 15 年前

    首先,我正要写一篇文章 在vim中列出if/else语句,并意识到1)有一个更好的方法来做我想做的事情,2)因此在这个问题上有了帮助就成熟了。所以!我有各种各样的文件

    foo/src/file01.C
    foo/src/file02.cc
    foo/src/file03.c
    foo/include/file01.hh
    foo/include/file02.h
    foo/include/file03.h
    

    如果您注意到C/H,cc/hh,C/H分机可能匹配,也可能不匹配,那么您很乐意,我希望您能帮忙。我见过这样的事情 the following vim scripts 从Vim wiki“轻松地在源文件和头文件之间切换”,虽然我只在a.Vim中转储了几个小时没有成功,但其他人似乎无法通过该页面上的文档工作。那么有人能帮上忙吗?

    How to Easily Switch between Header and Source 主题,但仍然无法使其工作。

    我想我真正想要的是如何避免多重if语句,并使用真正的匹配来做我想做的事情。我想查看另一个目录,如果查找一个与任何熟悉的扩展名相同的头文件,如果它是源C/C++文件,或者查找任何常规扩展的源文件,如果它是头文件。谢谢你的帮助!

    更新: 我特别想在一个新选项卡中打开文件。我住在vim标签上!

    4 回复  |  直到 15 年前
        1
  •  2
  •   robcsi    11 年前

    https://github.com/derekwyatt/vim-fswitch 这正是你需要的开箱即用。它比a.vim好的地方不止一个,它是a.vim背后思想的重写。

    你发布的链接也将其作为解决方案。 我刚刚把它安装到我的vim配置中,它做得很好。

        2
  •  2
  •   Curt Nelson    15 年前

    为了确保我使用的是最新版本,我 downloaded the latest a.vim script (2.18)并将其复制到我的 ~/.vim/plugin

    您可以在 ~/.vimrc a.vim 识别备用文件扩展名。

    为了使您的示例中的文件与它们的替代文件匹配,我在我的示例中添加了以下内容 ~/.vimrc公司

    let g:alternateExtensions_C = "H,hh"
    let g:alternateExtensions_hh = "C"
    

    这些是全局变量,允许您重写已经定义的内容。你必须定义

    您可以通过键入以下内容查看当前映射:

    :echo g:alternateExtensionsDict
    

    let g:alternateExtensions_<ext> = "<list,of,alt,ext>"
    

    如果有不同的目录结构,则可以通过重写 g:alternateSearchPath 变量。 ../src ../include

    :echo g:alternateSearchPath
    

    :AT
    

    顺便说一下 a、 维姆

        3
  •  0
  •   Dummy00001    15 年前

    在我看来,最好的选择是采用现有的脚本 :tabf :e 或者不管脚本现在用什么来打开对应的文件。您还可以尝试配置更改并将其提交给脚本作者(我敢肯定很多人会觉得这种增强很有用。)

    理性的 upward search

        4
  •  0
  •   sehe    14 年前

    两件有用的事

    :he 'path'
    :he tabfind
    

    :set path=../,/usr/include/,/home/buildagent/SDKROOT/mysdk/inc
    :tabfind error_codes.h
    

    从某个异国情调的地方打开错误代码.h而不必指定它。注意vim globbing是如何非常灵活的,所以您可能不需要太多

    :argadd ./**/*.[h,H] | tab sall
    

    全部的

    推荐文章