Vim 插件 vim-switchtoinc

GPL
跨平台
2015-04-21
Wim

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

特性

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

  • 支持绝对路径进行查找

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

  • 支持regex替换路径

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

安装

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

  • Pathogen

    • git clone https://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 来设置。

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

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>

谢谢

欢迎使用,祝使用愉快

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

VIM 文件类型识别错误

写jsx的时候格式化时被检测为JavaScript类型,所以格式化一片狼藉。

2016/03/23 12:10
56
1
setup vpn server (Original)

#install yum install -y ppp iptables wget ftp://ftp.ntua.gr/pub/net/poptop/pptpd/pptpd-1.3.1/pptpd-1.3.1-0.i386.rpm rpm -ivh pptpd-1.3.1-0.i386.rpm #conf 配置pptpd vim /etc/pptp...

2011/05/05 23:23
833
0
解决Centos vi vim 中语法不能高亮显示的问题

yum安装vim最简单的命令, yum -y install vim* 然后就可以使用vi命令了. 网上的文章: 要使用vim, 使用yum看了一下,发现有4个 vim-common.i386 2:7.0.109-6.el5 base vim-enhanced.i386 2:7...

2012/01/03 17:03
1K
0
vim学习资料整理

汇总VIM的教程与学习资料,以方便初学者及持续学习者。欢迎补充。 一、官方文档   网友happyvim说:“gvim的两份帮助写得非常好,vim的帮助不像tc的帮助—-跟垃圾差不多。相比之下,简直是...

2013/04/13 11:23
486
0
VIM教程与学习资料汇总

一、官方文档 网友happyvim说:“gvim的两份帮助写得非常好,vim的帮助不像tc的帮助—-跟垃圾差不多。相比之下,简直是一个在天上,一个在地下的区别。” 30分钟入门: 首次安装vim后,可用 ...

2012/05/25 10:29
126
0
vim总结

# 什么是vim,为什么要使用vim ## 历史 ed -> ex(sed) -> vi -> vim -> gvim / macvim ## 帮助 vimtutor :h - 帮助系统 ## vim的五种模式 插入模式 - 和普通编辑器的模式差不多 普通模式 可视...

2016/04/08 14:33
57
1
给vim新手的建议-不要纠结于快捷键

我用vim大概有4年了,说说感受哈 网上很多介绍vim的文章都重点介绍vim的快捷键,以至于初学者觉得vim就是一个充满快捷键的装逼利器,其实并不是这样的。我从来不用hjkl来移动光标,也不用w,...

2012/05/07 08:47
390
0
Vim 经典插件介绍

1. ctags 功能:对浏览代码非常的方便, 可以在函数, 变量之间跳来跳去等等 安装: sudo apt-get install ctags 或者从http://ctags.sourceforge.net/下载源代码包后,解压缩生成源代码目录 ...

2016/11/21 19:03
47
0
Mac配置vim,打造适用于开发的vim

Mac配置vim,打造适用于开发的vim

2015/05/19 08:39
130
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部