如何在 vim 中更好的编辑 java 文件
2004-10-22 00:02
453 查看
[align=right]by camry.wu[/align]
编辑类文件时, 类资源树是个有用的东西, 可以把类的成员, 方法等等很直观的
显示出来. 在 vim 中也可以实现好像 vc, jbuilder 那样的类资源树, 当然比
那些会简单些, 不过也够好用的了. 就是用 javabrowser.vim 这个脚本实现的.
先到 vim online去找到这个脚本文件.(在这还能找到许多有用的其他脚本)
然后在 google 上找到 ctags 的安装方法,(一般的 linux 系统都带有这个程序)
在 linux 系统中将 javabrowser.vim 拷贝到 ~/.vim/plugin/ 下.
然后在 ~./vimrc 做如下中配置: (即说明 ctags 程序的路径)
let JavaBrowser_Ctags_Cmd = '/usr/bin/ctags'
假如 vim 不是 gui 版的, 那么可以做如下设置, 它将不改变窗口
let JavaBrowser_Inc_Winwidth = 0
重新运行 vim
这下你打开一个 java 文件时, 输入 :JavaBrowser 就能看到漂亮的资源树了.
不过这个文件必须是个实际存在的文件.
在 windows 系统中 可以将 javabrowser.vim 拷贝到 vim 目录下的 plugin 下.
同样也需要设置 JavaBrowser_Ctags_Cmd , 路径为 ctags 程序的路径.
我一般在java 宏文件中设置
nmap <F11> :JavaBrowser<CR>
imap <F11> <ESC><F11>
这样我一按 F11 键就可以看到这个东西了, 很方便.
在 vim online 中你会发现一个 taglist 的脚本也是用来显示类资源树的, 而且它
运用的范围更广, 对多种语言都适合, 不过颜色似乎没有 JavaBrowser 好看.
jcommenter
编程是肯定需要写注释的, 而编写 java 文件则需要写 javadoc 类型的注释.
jcommenter.vim 这个脚本可以帮助你轻松写注释.
到 vim online 可以找到这个脚本, 下载下来放到你的目录中, 我将它放在
~/.vim/files/ 目录下, 这个目录下真是放了很多东西.
使用时必须先读入脚本, 当然我们也不希望在编辑任意文件时都读入它, 如何
做在第三节中进一步说明. 读入脚本后在不同的地方输入 :call JCommentWriter()
就可以自动写注释了. 使用习惯后十分舒服.
我一般将 <F12> 定义为写注释.
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
说明如下:
取消之前的 autocmd
假如编辑的是 java 文件, 那么读入 java.vim 的宏定义(定义的内容下节说明)
假如编辑的是 java 文件, 那么读入 jcommenter.vim 定义
在新建 java 文件时, 预先将 java.skel 的内容复制进来
在读入 java.skel 内容后, 运行 gnp 这个宏命令
我的 java.skel 内容是这样的:
运行 gnp 这个宏命令, 主要是为了替换其中的 _classname_, _datetime_, _filename_
这三个变量. gnp命令在 java.vim 这个宏文件中指定.
java 宏定义
这里说明一下我的 java.vim 宏文件是如何定义的.
首先, 文件中包含了另外一份宏定义, 在这里
以下是我自己做的一些定义:
" 输入转换
abbr sprt System.out.println
abbr psf public static final
" 将 _filename_, _datetime_, _classname_ 转换成正确名字
" 注意, 以下两行应该是连在一起的一行文字
map gnp <ESC>:%s/_filename_//=bufname("%")/<CR>:%s/_datetime_//=strftime("%c")
/<CR>Go<ESC>"%p$F.bd0f.Dviwx:%s/_classname_//=strtrans(@")/g<CR>Gdd:1<CR>/{<CR>
" 输入 <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;<RIGHT>dw"aD0wwviw"bxwviw"cx0Da <ESC>"apa<CR>public void set<ESC>"
cpb3<RIGHT>~$a(final <ESC>"bpa <ESC>"cpa) { this.<ESC>"cpa = <ESC>"cpa; }
<CR>public <ESC>"bpa get<ESC>"cpb3<RIGHT>~$a() { return <ESC>"cpa; }<CR><ESC>0
最后更新: 2004年11月13日 星期六 15点13分4秒
HTML 转换程序: TeX2page 2004-09-11
这次介绍一下如何在 vim 中更好的编辑 java 文件
javabrowser编辑类文件时, 类资源树是个有用的东西, 可以把类的成员, 方法等等很直观的
显示出来. 在 vim 中也可以实现好像 vc, jbuilder 那样的类资源树, 当然比
那些会简单些, 不过也够好用的了. 就是用 javabrowser.vim 这个脚本实现的.
先到 vim online去找到这个脚本文件.(在这还能找到许多有用的其他脚本)
然后在 google 上找到 ctags 的安装方法,(一般的 linux 系统都带有这个程序)
在 linux 系统中将 javabrowser.vim 拷贝到 ~/.vim/plugin/ 下.
然后在 ~./vimrc 做如下中配置: (即说明 ctags 程序的路径)
let JavaBrowser_Ctags_Cmd = '/usr/bin/ctags'
假如 vim 不是 gui 版的, 那么可以做如下设置, 它将不改变窗口
let JavaBrowser_Inc_Winwidth = 0
重新运行 vim
这下你打开一个 java 文件时, 输入 :JavaBrowser 就能看到漂亮的资源树了.
不过这个文件必须是个实际存在的文件.
在 windows 系统中 可以将 javabrowser.vim 拷贝到 vim 目录下的 plugin 下.
同样也需要设置 JavaBrowser_Ctags_Cmd , 路径为 ctags 程序的路径.
我一般在java 宏文件中设置
nmap <F11> :JavaBrowser<CR>
imap <F11> <ESC><F11>
这样我一按 F11 键就可以看到这个东西了, 很方便.
在 vim online 中你会发现一个 taglist 的脚本也是用来显示类资源树的, 而且它
运用的范围更广, 对多种语言都适合, 不过颜色似乎没有 JavaBrowser 好看.
jcommenter
编程是肯定需要写注释的, 而编写 java 文件则需要写 javadoc 类型的注释.
jcommenter.vim 这个脚本可以帮助你轻松写注释.
到 vim online 可以找到这个脚本, 下载下来放到你的目录中, 我将它放在
~/.vim/files/ 目录下, 这个目录下真是放了很多东西.
使用时必须先读入脚本, 当然我们也不希望在编辑任意文件时都读入它, 如何
做在第三节中进一步说明. 读入脚本后在不同的地方输入 :call JCommentWriter()
就可以自动写注释了. 使用习惯后十分舒服.
我一般将 <F12> 定义为写注释.
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
说明如下:
取消之前的 autocmd
假如编辑的是 java 文件, 那么读入 java.vim 的宏定义(定义的内容下节说明)
假如编辑的是 java 文件, 那么读入 jcommenter.vim 定义
在新建 java 文件时, 预先将 java.skel 的内容复制进来
在读入 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 这个宏文件中指定.
java 宏定义
这里说明一下我的 java.vim 宏文件是如何定义的.
首先, 文件中包含了另外一份宏定义, 在这里
以下是我自己做的一些定义:
" 输入转换
abbr sprt System.out.println
abbr psf public static final
" 将 _filename_, _datetime_, _classname_ 转换成正确名字
" 注意, 以下两行应该是连在一起的一行文字
map gnp <ESC>:%s/_filename_//=bufname("%")/<CR>:%s/_datetime_//=strftime("%c")
/<CR>Go<ESC>"%p$F.bd0f.Dviwx:%s/_classname_//=strtrans(@")/g<CR>Gdd:1<CR>/{<CR>
" 输入 <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;<RIGHT>dw"aD0wwviw"bxwviw"cx0Da <ESC>"apa<CR>public void set<ESC>"
cpb3<RIGHT>~$a(final <ESC>"bpa <ESC>"cpa) { this.<ESC>"cpa = <ESC>"cpa; }
<CR>public <ESC>"bpa get<ESC>"cpb3<RIGHT>~$a() { return <ESC>"cpa; }<CR><ESC>0
最后更新: 2004年11月13日 星期六 15点13分4秒
HTML 转换程序: TeX2page 2004-09-11
相关文章推荐
- Linux 如何用vim命令把编辑文件的几行内容拷贝到一个新文件
- 如何用java实现在网页中保存html编辑器 编辑好的 html 文件?!(如blog里发文章的时候把要发表的内容以html文件的形式保存到服务器上?)
- 如何在VIM中保存编辑的只读文件
- Linux 如何用vim命令把编辑文件的几行内容拷贝到一个新文件
- 如何在VIM中保存编辑的只读文件
- vim编辑文件警告Swap file already exists ,如何删除vim编辑产生的.swp文件?查看隐藏文件命令
- 如何在vim中同时编辑多个文件
- 如何在VIM中保存编辑的只读文件
- vim 如何编辑 GB2312 编码的文件?
- [转] vim使用技巧--如何把所编辑文件的编码方式改为utf-8
- 如何使用 Vim 编辑器编辑多个文件
- VIM编辑文件时如何不自动生成以波浪线(~)为结尾的文件
- Vim编辑器中如何编辑多个文件
- 使用vim编辑java文件
- 让vim更好的支持matlab源文件编辑
- 如何将java编辑的图形化程序编辑为可执行jar文件
- Linux 如何用vim命令把编辑文件的几行内容拷贝到一个新文件
- [转] vim使用技巧--如何把所编辑文件的编码方式改为utf-8
- vim下如何去掉windows编辑的文件中的^M
- Linux 如何用vim命令把编辑文件的几行内容拷贝到一个新文件