`

vim 中更好的編輯 java 文件.

    博客分类:
  • vim
阅读更多

這次介紹一下如何在 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

分享到:
评论

相关推荐

    vim配置目录、文件.rar

    为了更好地适应不同语言的开发,Vim支持多种语法文件,比如Python、Java、JavaScript等。这些文件定义了特定语言的语法高亮规则,使得代码在Vim中显示得更加清晰。压缩包中可能包含了这些语言的语法文件,以确保在...

    vim配置文件

    Vim配置文件,通常以`.vimrc`为名,是Vim编辑器的核心自定义设置文件。这个文件允许用户根据个人需求和习惯定制Vim的行为,使其...理解和熟练掌握`.vimrc`的配置,能帮助程序员更好地利用Vim的强大功能,提升编程效率。

    VIM语法高亮和SV支持

    为了让VIM更好地处理SystemVerilog代码,我们需要安装并配置SystemVerilog的插件。`gvim sv语法高亮实现.rar`可能就是一个这样的插件包,包含SystemVerilog的语法定义文件。 安装这个插件,你需要先解压`gvim sv...

    vim的java自动补全工具

    为了更好地利用 Vim 的自动补全功能,你可以学习以下技巧: 1. 自定义补全触发键:根据个人喜好,你可以自定义补全的触发键组合。 2. 利用插件的跳转功能:如 `YouCompleteMe` 的 `g:ycm_goto_buffer_command` 和 `...

    java vim 插件

    Java Vim 插件是开发人员为了提升在Vim编辑器中编写Java代码效率而设计的一系列工具集合。这些插件通常包含语法高亮、代码自动完成、错误检查、格式化等功能,极大地增强了Vim对Java语言的支持。在Vim这个高度可定制...

    ctags,cscope,taglist.vim,cscope_maps.vim

    3. **taglist.vim**:Taglist是Vim的一个插件,它在Vim的侧边栏显示当前文件的结构,如类、函数、变量等,帮助开发者更好地理解代码结构。Taglist.vim文件就是这个插件的源代码,将其复制到Vim的插件目录下,并启用...

    .vim配置文件-coc

    了解并熟悉 `.vim` 配置文件和 Coc 插件的使用,能让你的 Vim 编辑体验提升到一个新的层次,更好地适应现代开发需求。在实践中不断调整和完善配置,你将能够创建一个符合自己习惯且高效的开发环境。

    vim下的java开发插件vjde

    用户可以使用`:help vjde`命令来查阅这些文档,以便更好地理解和利用vjde的各项特性。 7. **工程管理**: 虽然Vim本身并不支持项目级别的管理,但vjde通过插件实现了这一功能。它可以识别并管理Maven或Gradle项目...

    syntastic-vim中语法检查错误插件

    标题"syntastic-vim中语法检查错误插件"指的是Vim编辑器中的一个扩展工具——Syntastic。这个插件的主要功能是为用户提供实时的语法检查,帮助程序员在编写代码时尽早发现并修复语法错误。 描述"syntastic——vim中...

    eclipse中加入vim

    不过,要注意的是,虽然Vrapper提供了很好的Vim模拟,但它并不是Vim的完全替代品,某些复杂的Vim操作可能无法在Eclipse中实现。在实际使用中,可以根据自己的需求权衡是否集成Vim以及如何配置。

    vim配置+ctag+cscope,一键配置,非常好用(vim.tar.gz)

    在压缩包`vim.tar.gz`中,很可能包含了一份预设好的`.vimrc`配置文件,用于快速构建一个功能齐全的开发环境。 **ctags** `ctags`是一款代码标签生成工具,它可以为源代码中的函数、类、变量等创建索引。在Vim中,...

    windows vim编辑器带环境

    Windows下的Vim编辑器,全称为“Vi Improved”,是一款强大的文本编辑工具,广泛应用于Linux、Unix等系统,但在Windows上同样有很好的支持。Vim以其高效、可高度自定义和扩展性著称,深受程序员和系统管理员的喜爱。...

    vim配置包,linux若要使用vim,需要先安装vim包

    Vim(Vi IMproved)是Linux系统中广泛...通过学习和熟练使用Vim,不仅可以提升你的文本编辑效率,还能让你更好地融入Linux的生态环境。所以,如果你在Ubuntu或其他Linux发行版上工作,安装和配置Vim是必不可少的步骤。

    由NERD_commenter.vim生成注释

    - **与其他插件集成**:与其他Vim插件(如Syntastic或ALE)配合,提供更好的代码检查和反馈。 6. **最佳实践** 良好的代码注释应该清晰、简洁,避免过于冗余。使用NERD_commenter.vim时,建议遵循以下原则: - ...

    vim 常用插件

    在Vim中,插件是增强其功能的重要手段,使得Vim能够更好地适应不同用户的需求。本文将深入探讨"vim 常用插件"中的TAGlist和c-support这两个关键知识点。 **TAGlist 插件** TAGlist是Vim的一个非常实用的插件,主要...

    vim环境的配置——模仿sourceInsight功能的Tlist

    Vim是一款强大的文本编辑器,深受程序员喜爱,尤其在Linux环境下。Tlist是Vim的一个插件,它能提供类似于Source Insight的功能,帮助用户在代码导航方面提高...希望这个配置教程能帮助你更好地利用Vim进行软件开发。

    linux编程工具vim的插件配置合集

    - `glow`:为JAVA开发提供更好的代码高亮和文档查看。 - `vim-javacomplete2`:与JavaComplete2类似,提供更丰富的JAVA开发支持。 4. **通用编程辅助**: - `vim-airline`:状态栏增强,显示当前模式、编码、...

    Eclipse的VIM插件.rar

    为了提供更好的代码编辑体验,Eclipse允许用户安装各种插件,以增强其功能。"Eclipse的VIM插件"就是这样一个插件,它将流行的VIM编辑器的功能集成到Eclipse中,使习惯于使用VIM快捷键和操作的开发者在Eclipse环境中...

Global site tag (gtag.js) - Google Analytics