vim-switchtoinc Vim 插件开源项目

我要开发同款
匿名用户2015年04月21日
30阅读
所属分类、应用工具、文档/文本编辑
授权协议GPL

作品详情

vim-switchtoinc这是一款vim插件,用于头文件和源文件间快速切换。注:在a.vim插件基础上修改的。

特性

支持多种语言(所有具备头文件的语言),主要支持为c,cpp,objective-c,objective-cpp等

支持绝对路径进行查找

支持源文件为基准的相对路径查找

支持regex替换路径

支持自定义项目目录,批量初始化目录后使用(推荐)

安装

可以直接克隆下来丢在vim的插件目录,但我推荐用插件管理器进行管理,下面是各种插件管理器:

Pathogen

gitclonehttps://github.com/liwangmj/vim-switchtoinc.git~/.vim/bundle/vim-switchtoinc

vim-plug

Plug'liwangmj/vim-switchtoinc'

NeoBundle

NeoBundle'liwangmj/vim-switchtoinc'

Vundle

Plugin'liwangmj/vim-switchtoinc'

使用

切换到当前文件的源文件或则头文件:

:A

同上,但在上面基础上会水平分栏进行打开:

:AV

打开当前文件的源文件或头文件,并会垂直分栏进行打开:

:AS

多个重名文件之间的切换:

:AN

初始化查找目录(只在用最后一种方式前使用,其他方法不用):

:SearchIncAndSrcPath

设置

需要设置源文件和头文件的查找目录,通过 g:alternateSearchPath 来设置。

基于源文件的相对路径查找(如下是默认值):

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

基于绝对路径查找(例子):

letg:alternateSearchPath='abs:/home/my/myporject/inc,abs:/home/my/myproject/src'

基于vim正则表达式查找(例子):

letg:alternateSerchPath='reg:/inc/src/g/,reg:/src/inc/g/'

以上方法都比较有局限性,因为只能针对单条路径(正则)或单个目录进行查找,下面的方法相对麻烦一点,但一劳永逸,不用担心可恶的目录问题:

先设置项目的根目录(例子):

letg:iSearchProjectPath='/home/my/myproject'letg:iSearchPathName=[      \'src','Src','SRC',      \'inc','Inc','INC',      \'source','Source','SOURCE',      \'include','Include','INCLUDE',      \'my_inc','my_inc'\]

再调用 SearchIncAndSrcPath 进行初始化查找目录:

:SearchIncAndSrcPath

然后可以用:A :AV :AS 进行切换了。

最后说一下,最新版本更新:

第一次调用:A :AV :AS,插件内部会自动执行一次 SearchIncAndSrcPath,只需直接切换即可,不用单独执行。

另外,如果在使用vim过程中相关文件目录有更改,可以通过执行一次SearchIncAndSrcPath来更新,但值得注意的是:之前打开过的文件切换信息由于存在缓存无法更新,需要重启vim才能生效!

推荐按键绑定

autocmdFileTypec,cpp,objc,objcppnmap<silent><F4>:wall<CR>:A<CR>autocmdFileTypec,cpp,objc,objcppnmap<silent><C-F4>:wall<CR>:AV<CR>autocmdFileTypec,cpp,objc,objcppnmap<silent><S-F4>:wall<CR>:AS<CR>autocmdFileTypec,cpp,objc,objcppnmap<silent><Leader>an:wall<CR>:AN<CR>autocmdFileTypec,cpp,objc,objcppnmap<silent><Leader>as:wall<CR>:SearchIncAndSrcPath<CR>

谢谢

欢迎使用,祝使用愉快

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论