Vim轻量级查看Java代码

平时开发 Java 都是使用 Intellij IDEA,毫无疑问它是现在最好用的 Java 开发平台,无论是代码补全、智能提示、代码重构各个方面都是顶尖的存在。但是在平时一直都有这样的情况存在,我平时有时候并不会一直打开 IDEA,可有时却需要简单的查看一下公司项目的代码,这个时候要是打开 IDEA 去查看难免有点杀鸡焉用牛刀的感觉,所以一直想寻找一个平时简单查看代码的方式。我现阶段使用的是 vim 来查看代码,当然纯 vim 是不适合查看 java 代码的,至少缺少目录结构、方法结构以及方法跳转,于是我借助 3 个 vim 插件来解决这个问题,一个是 tagbar 一个是 nerdtree 还有一个是 ctags

插件安装就是使用 Bundle 这里就不赘述了

Bundle `majutsushi/tagbar`
Bundle `scrooloose/nerdtree`

ctags 在 mac 安装

brew install ctags-exuberant

安装后 .vimrc 配置:

let g:tagbar_ctags_bin='/usr/local/bin/ctags'

我这里 Java 代码的跳转是使用 ctags 来实现的,tagbar 也是依赖于 ctags,所以需要先安装它,并配置 tagbar_ctags_bin 指向 ctags 可执行文件。

我们可以使用 ctags --list-kinds=java 命令查看 ctags 都支持哪些 java 的跳转:

$ ctags --list-kinds=java
c  classes
e  enum constants
f  fields
g  enum types
i  interfaces
l  local variables [off]
m  methods
p  packages

安装好后我们需要在代码的根目录使用 ctags -R . 命令来生成 ctags 需要的缓存文件 tags,然后再在 .vimrc 文件中配置 set tags=tags;/ 表示当前目录找不到tags文件时请到上层目录查找,这样就不用在 tags 所在目录中才可以使用 ctags 了。如果不配置就只能在 tags 同级目录上使用代码跳转功能,配置后可以在任意子目录中使用。

ctags --extra=+q --exclude=android-dto --languages=java -R . 表示索引添加类名,排除 android-dto 文件夹,语言是 java 类型

<Ctrl> + ] 跳转到代码的定义

<Ctrl> + o 返回

nerdtree 配置

" 使用 F2 开关 nerdtree
map <F2> :NERDTreeToggle<CR>

" 每次打开 vim 自动打开 NERDTree
autocmd VimEnter * NERDTree

"  + r 定位当前文件所在目录
map <leader>r :NERDTreeFind<cr> <C-w><C-w>

" 每次进入、退出方法的时候切换目录
map <C-]> <C-]> :NERDTreeFind<cr> <C-w><C-w>
map <C-o> <C-o> :NERDTreeFind<cr> <C-w><C-w>

tagbar 配置

nmap <F8> :TagbarToggle<CR>

" 打开文件自动 打开tagbar
autocmd FileType java nested :TagbarOpen
let g:tagbar_ctags_bin='/usr/local/bin/ctags'

更多配置请查看 tagbar wiki

效果图

vim look java

原文地址:https://www.cnblogs.com/manastudent/p/13205435.html