微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vim-switchtoinc Vim 插件

程序名称:vim-switchtoinc

授权协议: GPL

操作系统: 跨平台

开发语言:

vim-switchtoinc 介绍

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

特性

安装

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

使用

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

:A

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

:AV

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

:AS

多个重名文件间的切换:

:AN

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

:SearchIncAndSrcPath

设置

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

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

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

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

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

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

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

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

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

    let g:iSearchProjectPath = ‘/home/my/myproject’
    let g: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才能生效!

推荐按键绑定

autocmd FileType c,cpp,objc,objcpp nmap <silent> <F4> :wall<CR>:A<CR>

autocmd FileType c,cpp,objc,objcpp nmap <silent> <C-F4> :wall<CR>:AV<CR>

autocmd FileType c,cpp,objc,objcpp nmap <silent> <S-F4> :wall<CR>:AS<CR>

autocmd FileType c,cpp,objc,objcpp nmap <silent> <leader>an :wall<CR>:AN<CR>

autocmd FileType c,cpp,objc,objcpp nmap <silent> <leader>as :wall<CR>:SearchIncAndSrcPath<CR>

谢谢

欢迎使用,祝使用愉快

vim-switchtoinc 官网

https://github.com/liwangmj/vim-switchtoinc

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐