這次介紹一下如何在 vim 中更好的編輯 java 文件.
作者: camry.wu@gmail.com
1. javabrowser
編輯類文件時, 類資源樹是個有用的東西, 可以把類的成員, 方法等等很直觀的
顯示出來. 在 vim 中也可以實現好像 vc, jbuilder 那樣的類資源樹, 當然比
那些會簡單些, 不過也夠好用的了. 就是用 javabrowser.vim 這個腳本實現的.
先到 vim online 去找到這個腳本文件.(在這還能找到許多有用的其他腳本)
然後在 google 上找到 ctags 的安裝方法,(一般的 linux 系統都帶有這個程序)
1.1 在 linux 系統中將 javabrowser.vim 拷貝到 ~/.vim/plugin/ 下.
1.2 然後在 ~./vimrc 做如下中配置: (即說明 ctags 程序的路徑)
let JavaBrowser_Ctags_Cmd = '/usr/bin/ctags'
1.3 假如 vim 不是 gui 版的, 那麼可以做如下設置, 它將不改變窗口
let JavaBrowser_Inc_Winwidth = 0
1.4 重新運行 vim
1.5 這下你打開一個 java 文件時, 輸入 :JavaBrowser 就能看到漂亮的資源樹了.
不過這個文件必須是個實際存在的文件.
在 windows 系統中 可以將 javabrowser.vim 拷貝到 vim 目錄下的 plugin 下.
同樣也需要設置 JavaBrowser_Ctags_Cmd , 路徑為 ctags 程序的路徑.
我一般在java 宏文件中設置
nmap <F11> :JavaBrowser<CR>
imap <F11> <ESC><F11>
這樣我一按 F11 鍵就可以看到這個東西了, 很方便.
2. jcommenter
編程是肯定需要寫註釋的, 而編寫 java 文件則需要寫 javadoc 類型的註釋.
jcommenter.vim 這個腳本可以幫助你輕鬆寫註釋.
到 vim online 可以找到這個腳本, 下載下來放到你的目錄中, 我將它放在
~/.vim/files/ 目錄下, 這個目錄下真是放了很多東西.
使用時必須先讀入腳本, 當然我們也不希望在編輯任意文件時都讀入它, 如何
做在第三節中進一步說明. 讀入腳本後在不同的地方輸入 :call JCommentWriter()
就可以自動寫註釋了. 使用習慣後十分舒服.
我一般將 <F12> 定義為寫註釋.
3. autocmd
autocmd 十分強大, 在vim使用經驗這篇文章中我已經提到過它了. 現在說明
如何讓它來支持 java 文件的編寫.
我在 .vimrc 中是這樣設置我的 autocmd 的:
:autocmd!
autocmd FileType java source ~/.vim/files/java.vim
autocmd FileType java source ~/.vim/files/jcommenter.vim
autocmd BufNewFile *.java 0r ~/.vim/files/skeletons/java.skel
autocmd BufNewFile *.java normal gnp
說明如下:
1. 取消之前的 autocmd
2. 假如編輯的是 java 文件, 那麼讀入 java.vim 的宏定義(定義的內容下節說明)
3. 假如編輯的是 java 文件, 那麼讀入 jcommenter.vim 定義
4. 在新建 java 文件時, 預先將 java.skel 的內容複製進來
5. 在讀入 java.skel 內容後, 運行 gnp 這個宏命令
我的 java.skel 內容是這樣的:
/*
* -----------------------------------------------------------
* file name : _filename_
* authors : camry(camry.wu@gmail.com)
* created : _datetime_
* copyright : (c) 2004 Vitular Inc. All Rights Reserved.
*
* modifications:
*
* -----------------------------------------------------------
*/
package com.vitular.;
/**
* to-do.
*
* @author camry(camry.wu@gmail.com)
* @version 1.0
*/
public class _classname_ {
/**
* default constructor.
*/
public _classname_() {
super();
} // END: _classname_
/**
* for test.
* @param args commond line parameters
public static void main(final String[] args) {
} // END: main
*/
} // END: _classname_
///:~
運行 gnp 這個宏命令, 主要是為了替換其中的 _classname_, _datetime_, _filename_
這三個變量. gnp命令在 java.vim 這個宏文件中指定.
4. java 宏定義
這裡說明一下我的 java.vim 宏文件是如何定義的.
首先, 文件中包含了另外一份宏定義, 在這裡
以下是我自己做的一些定義:
" 輸入轉換
abbr sprt System.out.println
abbr psf public static final
" 將 _filename_, _datetime_, _classname_ 轉換成正確名字
" 注意, 以下兩行應該是連在一起的一行文字
map gnp :%s/_filename_/\=bufname("%")/:%s/_datetime_/\=strftime("%c")
/Go"%p$F.bd0f.Dviwx:%s/_classname_/\=strtrans(@")/gGdd:1/{
" 輸入 <F11> 可以看到類資源樹
nmap <F11> :JavaBrowser<CR>
imap <F11> <ESC><F11>
" 輸入 <F12> 就能直接寫入註釋.
nmap <F12> :call JCommentWriter()<CR>
imap <F12> <ESC><F12>
" 命令模式下, 在行如 private String s; /** comment */ 這樣的文字上鍵入 gsg
" 可以自動變成 get set.
" 注意, 以下三行應該是連在一起的一行文字
map gsg 0f;dw"aD0wwviw"bxwviw"cx0Da "apapublic void set"
cpb3~$a(final "bpa "cpa) { this."cpa = "cpa; }
public "bpa get"cpb3~$a() { return "cpa; }0
分享到:
相关推荐
该配置文件包含了设置行号、Tab...具体说明可以参考我的文章《【Linux成长之路基础篇:玩转vim(vi)编辑器】三大模式及命令介绍、如何通过配置文件.vimrc配置vim》第三章《三、vim配置文件.vimrc》里面有详细的介绍。
vim的c.vim和cpp.vim文件,替换之后可以高亮显示函数名称,包括STL里的类型名和函数名
[最优秀的文本编辑器.Vim.(绿化版)].Vim
新手学习vim.......................
git-vim, 用于Git的vim文件 git.vim简介git vim提供:在Vim中调用git函数的插件文件git显示的语法文件命令:gitadd <文件>如果没有指定,git添加 <文件> 或者当前文件。:gitcomm
02 windows下vim编辑器.rar.baiduyun.p.downloading
vscodevim.vim-1.25.2.vsix.pngvscodevim.vim-1.25.2.vsix.pngvscodevim.vim-1.25.2.vsix.pngvscodevim.vim-1.25.2.vsix.png
vmware vcenter6.5 for windows版本。 VMware-VIM-all-6.5.0-14020092
browserlink.vim, Vim的实时浏览器编辑 Browserlink.vimBrowserlink是用于Vim的实时浏览器编辑插件。 实时编辑 CSSBrowserlink允许你实时编辑CSS文件,这些文件被发送到浏览器,而不重新加载或者更改页面状态。 实时...
VIM的中文手册 非常不错。 VIM中文手册,非常不错的. VIM中文手册,非常不错的.
Packtpub.Hacking.Vim.7.2.Apr.2010.rar
ctags,cscope,sourceinsight,vim 用vim的插件搭建一个类似sourceinsight的vi,同时加了一些vim及脚本,只需一条命令,就可安装完ctagslist,cscope等插件,达到sourceinsight的效果。
每个插件的目录下的conf.vim中有更多的设置及说明 "FuzzyFinder fuf.vim模糊查找 source ~/.vim/bundle/fuzzyfinder/conf.vim "NERD_commenter.vim source ~/.vim/bundle/nerdcommenter/conf.vim "单独切换打开...
Developer vCenter for java
Hacking.Vim.May.2007.Packt.Publishing 这么好的书不用我多讲了吧
Vim编辑器操作及插件使用.
VMware-VIM-all-6.7.0-15976714 原版镜像 .................................................................................................................
对vim操作的命令 分类总结 1.打开文件操作... 2.存储及退出文件... 3.模式转换... 4.光标移动... 5.插入... ...10.编辑多个文件... 11.其他命令... 12分屏操作... 13 vim的帮助指令... 14.七个习惯
Vim.User.Manual Vim.User.Manual 关于ubuntu vim的有管信息
committia.vim, 在提交消息时,使用Vim插件进行更愉快的编辑 提交消息时更愉快地编辑键入 git commit 时,Vim启动并打开提交缓冲区。 这个插件改进了提交缓冲区。committia.vim 将缓冲区拆分为 3 Windows ;编辑窗口...