2011-02-24 67 views
2

我目前使用A.vim插件在头文件和实现文件之间进行交换。这个脚本的局限性在于它只有在两个文件夹都在同一个文件夹中时才起作用。使用cscope在头文件和实现文件之间切换的Vim脚本

如果您有一个用于您的代码的cscope数据库,您可以通过执行:cscope find f ImplementationFileName.h轻松找到特定实现文件的标头。

你会如何编写脚本以取得当前文件名而不带扩展名,并且使用添加的.h后缀搜索该名称?

+0

no cscope要求:http://stackoverflow.com/questions/17170902/in-vim-how-to-switch-quickly-between-h-and-cpp-files-with-the-same-name – 2016-02-24 13:45:13

回答

3

这应该是可能开箱使用A.vim。签出:帮助备用配置。具体上搜索路径的部分:

b)中搜索路径:在许多项目中的源文件的 位置和 相应的头文件并不总是 相同的目录。这个插件 允许它使用的搜索路径 定位源文件和头文件为 配置。通过设置 g:alternateSearchPath变量指定的搜索路径是 。该 默认设置如下,

g:alternateSearchPath = 'sfr:../source,sfr:../src,sfr:../include,sfr:../inc'

这表明相应的 文件将在 ../source,../src进行搜索。 ../include和 ../inc都相对于当前的 文件被切换。 g:alternateSearchPath变量的值是 ,它只是一个以逗号分隔的 前缀和目录列表。 “sfr:” 前缀表示相对于该文件的路径为 。其他前缀 为“wdr:”,表示 目录相对于当前的 工作目录,“abs:”表示该路径为绝对路径。如果没有指定 前缀“sfr:”。

+0

伟大的提示。 cscope方法的优点在于,包含文件的位置并不重要。有时候它不起作用的原因是这个特定的项目包含了非标准位置的文件。而不是将项目特定的路径添加到g:alternateSearchPath,那么回退到我的cscope索引将会很好。 – 2011-02-24 20:27:56

相关问题