最近在尝试使用 Vim,有个问题请教,就
public class test { public static void main(String args[]) { System.out.print("shit,Test success!"); } }
在 Vim 中,我可以直接运行调试吗,像 Sublime 的 cmd+B 一样。
cmd+B
光阴似箭催人老,日月如移越少年。
按题主的意思, 应该是编辑好代码后, 按一个快捷键直接自动编译并运行.
方案
在vim中, 可通过:!cmd来执行外部命令. 对应于题主写的单文件:vim中, 可通过:!cmd来执行外部命令. 对应于题主写的单文件:
vim
:!cmd
:!javac % #=> 编译, % 为正在编辑的文件名 :!java %:r #=> 运行, %:r 去掉文件名的后缀
原理如此, 只是接下来设定键映射. 在.vimrc文件中, 添加以下内容
.vimrc
autocmd BufNewFile,BufReadPre *.java nmap <leader>rn :!javac %<cr>:!java %:r<cr>
意为, 新建或读入.java文件前, 自动映射快捷钕<leader>rn到指定命令.
.java
<leader>rn
当然你也可以设置成两个快捷键. 这里并不推荐使用Command快捷键, 而是使用Leader. 而事实上, 终端的vim也不能映射Command, 只有MacVim可以.
Command
Leader
MacVim
进阶一: 多文件
多文件其实也没什么, 只是在javac时, 换%为*.java, 换%:r为真正的main所在文件名.
javac
%
*.java
%:r
main
进阶二: 项目
如果你的项目有固定的结构, 本质上是差不多的.
在编译时, 可能添加-cp选项指定依赖路径, 添加-d选项指定输出路径. 如要打包为jar, 再加快捷键.
-cp
-d
jar
你可以在项目根目录定义一个.project属性文件, 描述项目结构和依赖, 再用VimL语言或python语言, 读取属性文件, 分别编译再输出. 至于依赖, 去~/.m2/目录找, 它们的位置非常有规律.
.project
VimL
python
~/.m2/
现在, 你可以将键映射到上述操作了, 不就是快捷键吗, vim多的是. 除了Ctrl/Alt/Shift, 还有每个字母和数字, 还有leader加任意长度字母和数字, leader不够了, 还是mapleader前缀. 对了, 你可能更喜欢F1-F12.
Ctrl/Alt/Shift
leader
mapleader
F1-F12
进阶三: 依赖
OK, 你基本上已经重新发明了maven了, 只是差自动下载依赖的功能. 但python的网络库那么多, 我猜测mvn的仓库应该是对外开放的, 只要遵循相关协议就能下载. 包与包之前有依赖关系, 你可以用python再写个依赖处理算法.
maven
mvn
虽然VimL残的跟渣一样, 但我们支持python啊, Ruby啊, Lua啊, 总有一款你喜欢的语言接口. 什么你觉得运行慢, 不要紧, 用C++写, 做成C/S架构的, 你看看YCM人家怎么实现的, 仿照一个呗.
Ruby
Lua
C++
C/S
YCM
终极: 补全
好了, 编译运行打包依赖都解决了, 但也撑死算一个项目管理插件. 写Java没有补全, 那么多API, 那么长的方法名, 还有各种样板写法和各种奇怪的异常抛出, 手写Java
Java
API
黄色的树林里分出两条路 而我选择了IDE 你呢
autocmd BufNewFile,BufReadPre *.java nnoremap <leader>rs :up <bar> !javac % && java %:r<cr> autocmd BufNewFile,BufReadPre *.java nnoremap <leader>cs :up <bar> !javac %<cr>
这怎么行, 必须搞个补全插件. Vim界补全的王者YCM是在Clang横空出世后, 才搞出来的. 在这之前, GNU的g++是不会共享语法分析的数据的. 你得自己写一个语法分析器, 对, 给C++ ..., 才能进行智能补全.Vim界补全的王者YCM是在Clang横空出世后, 才搞出来的. 在这之前, GNU的g++是不会共享语法分析的数据的. 你得自己写一个语法分析器, 对, 给C++..., 才能进行智能补全.
Vim
Clang
GNU
g++
那么, Java这边究竟什么情况, 我还真不知道, 但就Java95年就搞出来, vim91年就搞出来了, 它俩共渡的日子少算也有20年了, 在这期间, 各种Java IDE导出不穷, 但也没见谁搞出个屎来.
Java IDE
YCM对Java提供的补全, 使用eclim, 它和YCM没有关系, YCM只是提供接口, eclim没有YCM也能正常工作. eclim插件的使用, 需要安装eclipse, Java界以缓慢开源著称的IDE. 也就是说, eclim在底层使用eclipse来补全. 如果你不介意超缓慢的启动速度和补全速度, 可以一试.
eclim
eclipse
IDE
这简直不能忍, 题主横刀立马, 开始着手用C++写个Java的语法分析器, 做成C/S架构, 在插件中与服务器沟通来补全. 你也可以直接给YCM写个Java后端.
据说, Java语法规范页数已经超过C++. 但没事, 没有困难也要创造困难上, 更何况是有困难呢.
至此, 我已经给题主指明了一条通神之路, 翻过荆棘, 你将一跃成为vim和Java两界永远的大神, 彻底终结Vim不适合写Java的诅咒. 两派子弟必将永久膜拜朝奉.
如果你写出来时, Java还活着的话..., JVM平台的兄弟语言有点多...
JVM
为什么不说vim啊, 因为vim教永生!!!
后记
特此声明, 本文不包含任何对题主的调侃或戏谑或嘲讽或质疑什么的, 如让题主不爽, 我也不会道歉.
说这些, 只是说, 对于vim真没什么不可能的, 只要你有只够的技能时间. 这主要因为vim只是一个编辑器, 它把该开放的接口都开放了, 你想干什么, 写插件就OK了. Vim的中文手册, 抛开一些更新日志, 至少有1500页. 即便你看完了, 也不见得会写插件, 还要看书. 只就Vim的快捷键和操作, 我粗略了记了一下前300页的用户指南, 笔记就记了1000
1500
1000
eclipse code>, Java界以缓慢开源着称的IDE. 也就是说, eclim在底层使用eclipse来补全. 如果你不介意超缓慢的启动速度和补全速度, 可以一试.🎜 🎜这简直不能忍, 题主横刀立马, 开始着手用C++写个Java的语法分析器, 做成C/S架构, 在插件中与服务器沟通来补全. 你也可以直接给YCM写个Java后端.🎜 🎜据说, Java语法规范页数已经超过C++. 但没事, 没有困难也要创造困难上, 更何况是有困难呢.🎜 🎜至此, 我已经给题主指明了一条通神之路, 翻过荆棘, 你将一跃成为vim和Java两界永远的大神, 彻底终结Vim不适合写Java的诅咒. 两派子弟必将永久膜拜朝奉.🎜 🎜如果你写出来时, Java还活着的话..., JVM平台的兄弟语言有点多...🎜 🎜为什么不说vim啊, 因为vim教永生!!!🎜 🎜后记🎜 🎜特此声明, 本文不包含任何对题主的调侃或戏谑或嘲讽或质疑什么的, 如让题主不爽, 我也不会道歉.🎜 🎜说这些, 只是说, 对于vim真没什么不可能的, 只要你有只够的技能时间. 这主要因为vim只是一个编辑器, 它把该开放的接口都开放了, 你想干什么, 写插件就OK了. Vim的中文手册, 抛开一些更新日志, 至少有1500页. 即便你看完了, 也不见得会写插件, 还要看书. 只就Vim的快捷键和操作, 我粗略了记了一下前300页的用户指南, 笔记就记了1000 多行, 这还是精简到估计只有我自己能看懂.🎜通常, 在这个问题上, Vim提供了:make接口来编译, 和makeprg来设置编译参数. 但也要承认, Vim设计之初, 大部分的设计都是为C这样的编译语言做的, 像文本对象a{是选择{}中的代码, 但对于python来说, 块代码是同缩进的代码, 没有{}, 对Scala来说, 块只有一条语句时, 可以省略{}.Vim提供了:make接口来编译, 和makeprg来设置编译参数. 但也要承认, Vim设计之初, 大部分的设计都是为C这样的编译语言做的, 像文本对象a{是选择{}中的代码, 但对于python来说, 块代码是同缩进的代码, 没有{}, 对Scala来说, 块只有一条语句时, 可以省略{}. 献给所有曾试图写Java而痛苦挣扎的Vimers, 请不要害怕, 我也是你们的一员 Vim并不完美, 但比绝大多数Vimer相像的要完美. 我相信, 每个初学Vim, 并被Vim的强大折服的人, 都曾试图豪言, Vim在手, 天下我有. 然后, 在工作中碰到了Java, 陷入装逼痛苦的泥淖中, 然后, 要么决定找一份别的工作, 要么用上了IDE. 待再次回头, 便看到了Vim的局限. 看到一个工具的强大并不是了解, 看到它的局限才是真正的了解. rrreee 更新 单文件java文件编译映射, 只回车一次, 减少干扰 rrreee 这样基本上, 在同目录下, 库文件用<leader>cs编译, 执行文件用<leader>rs来编译运行. 这里的rs是run single file的缩写, 同cs为compile single file. 主要是为也对应rp和cp. 可以使用:!mvn subcmd来映射编译和运行项目文件. p为project 献给所有曾试图写Java而痛苦挣扎的Vimers, 请不要害怕, 我也是你们的一员🎜 🎜Vim并不完美, 但比绝大多数Vimer相像的要完美. 🎜 🎜我相信, 每个初学Vim, 并被Vim的强大折服的人, 都曾试图豪言, Vim在手, 天下我有. 然后, 在工作中碰到了Java, 陷入装逼痛苦的泥淖中, 然后, 要么决定找一份别的工作, 要么用上了IDE. 待再次回头, 便看到了Vim的局限.🎜 🎜看到一个工具的强大并不是了解, 看到它的局限才是真正的了解.🎜 rrreee 🎜更新🎜 🎜单文件java文件编译映射, 只回车一次, 减少干扰🎜 rrreee 🎜这样基本上, 在同目录下, 库文件用<leader>cs编译, 执行文件用<leader>rs来编译运行. 🎜 🎜这里的rs是run single file的缩写, 同cs为compile single file.🎜 🎜主要是为也对应rp和cp. 可以使用:!mvn subcmd来映射编译和运行项目文件. p为project.🎜
🎜后记🎜
通常, 在这个问题上, Vim提供了:make接口来编译, 和makeprg来设置编译参数. 但也要承认, Vim设计之初, 大部分的设计都是为C这样的编译语言做的, 像文本对象a{是选择{}中的代码, 但对于python来说, 块代码是同缩进的代码, 没有{}, 对Scala来说, 块只有一条语句时, 可以省略{}.Vim提供了:make接口来编译, 和makeprg来设置编译参数. 但也要承认, Vim设计之初, 大部分的设计都是为C这样的编译语言做的, 像文本对象a{是选择{}中的代码, 但对于python来说, 块代码是同缩进的代码, 没有{}, 对Scala来说, 块只有一条语句时, 可以省略{}.
:make
makeprg
C
a{
{}
Scala
献给所有曾试图写Java而痛苦挣扎的Vimers, 请不要害怕, 我也是你们的一员
Vim并不完美, 但比绝大多数Vimer相像的要完美.
Vimer
我相信, 每个初学Vim, 并被Vim的强大折服的人, 都曾试图豪言, Vim在手, 天下我有. 然后, 在工作中碰到了Java, 陷入装逼痛苦的泥淖中, 然后, 要么决定找一份别的工作, 要么用上了IDE. 待再次回头, 便看到了Vim的局限.
Vim在手, 天下我有
看到一个工具的强大并不是了解, 看到它的局限才是真正的了解.
更新
单文件java文件编译映射, 只回车一次, 减少干扰
java
这样基本上, 在同目录下, 库文件用<leader>cs编译, 执行文件用<leader>rs来编译运行.
<leader>cs
<leader>rs
这里的rs是run single file的缩写, 同cs为compile single file.
rs
run single file
cs
compile single file
主要是为也对应rp和cp. 可以使用:!mvn subcmd来映射编译和运行项目文件. p为project
rp
cp
:!mvn subcmd
p
project
献给所有曾试图写Java而痛苦挣扎的Vimers, 请不要害怕, 我也是你们的一员🎜
🎜更新🎜
没看到生成了 test.class 吗?
应该是可以的,但,是需要插件来支持。
不可以,vim本身不具备编译器链接功能,是否可配置或者有相关插件支持尚不知道
你好,我就是用vim开发java,可以试试我写的一个单元测试插件,可以执行测试.https://github.com/wsdjeg/JavaUnit.vim
当然你也可以直接用我的配置
https://github.com/wsdjeg/DotFiles
正常来说不可以,因为vim无法编译生成class文件
map <F4> :"!javac %"<cr> map <F5> :"!java %<"<cr>
在配置文件里加入这两句,F4编译,F5运行(注意<F4><F5>后面的空格),当然前提是你装了jdk并配置好环境变量。调试感觉不行
按题主的意思, 应该是编辑好代码后, 按一个快捷键直接自动编译并运行.
在
vim
中, 可通过:!cmd
来执行外部命令. 对应于题主写的单文件:vim
中, 可通过:!cmd
来执行外部命令. 对应于题主写的单文件:原理如此, 只是接下来设定键映射. 在
.vimrc
文件中, 添加以下内容意为, 新建或读入
.java
文件前, 自动映射快捷钕<leader>rn
到指定命令.当然你也可以设置成两个快捷键. 这里并不推荐使用
Command
快捷键, 而是使用Leader
. 而事实上, 终端的vim
也不能映射Command
, 只有MacVim
可以.多文件其实也没什么, 只是在
javac
时, 换%
为*.java
, 换%:r
为真正的main
所在文件名.如果你的项目有固定的结构, 本质上是差不多的.
在编译时, 可能添加
-cp
选项指定依赖路径, 添加-d
选项指定输出路径. 如要打包为jar
, 再加快捷键.你可以在项目根目录定义一个
.project
属性文件, 描述项目结构和依赖, 再用VimL
语言或python
语言, 读取属性文件, 分别编译再输出. 至于依赖, 去~/.m2/
目录找, 它们的位置非常有规律.现在, 你可以将键映射到上述操作了, 不就是快捷键吗,
vim
多的是. 除了Ctrl/Alt/Shift
, 还有每个字母和数字, 还有leader
加任意长度字母和数字,leader
不够了, 还是mapleader
前缀. 对了, 你可能更喜欢F1-F12
.OK, 你基本上已经重新发明了
maven
了, 只是差自动下载依赖的功能. 但python
的网络库那么多, 我猜测mvn
的仓库应该是对外开放的, 只要遵循相关协议就能下载. 包与包之前有依赖关系, 你可以用python
再写个依赖处理算法.虽然
VimL
残的跟渣一样, 但我们支持python
啊,Ruby
啊,Lua
啊, 总有一款你喜欢的语言接口. 什么你觉得运行慢, 不要紧, 用C++
写, 做成C/S
架构的, 你看看YCM
人家怎么实现的, 仿照一个呗.好了, 编译运行打包依赖都解决了, 但也撑死算一个项目管理插件. 写
原理如此, 只是接下来设定键映射. 在Java
没有补全, 那么多API
, 那么长的方法名, 还有各种样板写法和各种奇怪的异常抛出, 手写Java
.vimrc
文件中, 添加以下内容🎜 🎜意为, 新建或读入.java
文件前, 自动映射快捷钕<leader>rn
到指定命令.🎜 🎜当然你也可以设置成两个快捷键. 这里并不推荐使用Command
快捷键, 而是使用Leader
. 而事实上, 终端的vim
也不能映射Command
, 只有MacVim
可以.🎜 🎜🎜进阶一: 多文件🎜🎜 🎜多文件其实也没什么, 只是在javac
时, 换%
为*.java
, 换%:r
为真正的main
所在文件名.🎜 🎜🎜进阶二: 项目🎜🎜 🎜如果你的项目有固定的结构, 本质上是差不多的. 🎜 🎜在编译时, 可能添加-cp
选项指定依赖路径, 添加-d
选项指定输出路径. 如要打包为jar
, 再加快捷键.🎜 🎜你可以在项目根目录定义一个.project
属性文件, 描述项目结构和依赖, 再用VimL
语言或python
语言, 读取属性文件, 分别编译再输出. 至于依赖, 去~/.m2/
目录找, 它们的位置非常有规律. 🎜 🎜现在, 你可以将键映射到上述操作了, 不就是快捷键吗,vim
多的是. 除了Ctrl/Alt/Shift
, 还有每个字母和数字, 还有leader
加任意长度字母和数字,leader
不够了, 还是mapleader
前缀. 对了, 你可能更喜欢F1-F12
.🎜 🎜🎜进阶三: 依赖🎜🎜 🎜OK, 你基本上已经重新发明了maven
了, 只是差自动下载依赖的功能. 但python
的网络库那么多, 我猜测mvn
的仓库应该是对外开放的, 只要遵循相关协议就能下载. 包与包之前有依赖关系, 你可以用python
再写个依赖处理算法.🎜 🎜虽然VimL
残的跟渣一样, 但我们支持python
啊,Ruby
啊,Lua
啊, 总有一款你喜欢的语言接口. 什么你觉得运行慢, 不要紧, 用C++
写, 做成C/S
架构的, 你看看YCM
人家怎么实现的, 仿照一个呗.🎜 🎜🎜终极: 补全🎜🎜 🎜好了, 编译运行打包依赖都解决了, 但也撑死算一个项目管理插件. 写Java
没有补全, 那么多API
, 那么长的方法名, 还有各种样板写法和各种奇怪的异常抛出, 手写Java
代码真是力气活, 还拼脑容量.🎜这怎么行, 必须搞个补全插件.
Vim
界补全的王者YCM
是在Clang
横空出世后, 才搞出来的. 在这之前,GNU
的g++
是不会共享语法分析的数据的. 你得自己写一个语法分析器, 对, 给C++
..., 才能进行智能补全.Vim
界补全的王者YCM
是在Clang
横空出世后, 才搞出来的. 在这之前,GNU
的g++
是不会共享语法分析的数据的. 你得自己写一个语法分析器, 对, 给C++
..., 才能进行智能补全.那么,
Java
这边究竟什么情况, 我还真不知道, 但就Java
95年就搞出来,vim
91年就搞出来了, 它俩共渡的日子少算也有20年了, 在这期间, 各种Java IDE
导出不穷, 但也没见谁搞出个屎来.YCM
对Java
提供的补全, 使用eclim
, 它和YCM
没有关系,YCM
只是提供接口,eclim
没有YCM
也能正常工作.eclim
插件的使用, 需要安装eclipse
,Java
界以缓慢开源著称的IDE
. 也就是说,eclim
在底层使用eclipse
来补全. 如果你不介意超缓慢的启动速度和补全速度, 可以一试.这简直不能忍, 题主横刀立马, 开始着手用
C++
写个Java
的语法分析器, 做成C/S
架构, 在插件中与服务器沟通来补全. 你也可以直接给YCM
写个Java
后端.据说,
Java
语法规范页数已经超过C++
. 但没事, 没有困难也要创造困难上, 更何况是有困难呢.至此, 我已经给题主指明了一条通神之路, 翻过荆棘, 你将一跃成为
vim
和Java
两界永远的大神, 彻底终结Vim
不适合写Java
的诅咒. 两派子弟必将永久膜拜朝奉.如果你写出来时,
Java
还活着的话...,JVM
平台的兄弟语言有点多...为什么不说
vim
啊, 因为vim
教永生!!!特此声明, 本文不包含任何对题主的调侃或戏谑或嘲讽或质疑什么的, 如让题主不爽, 我也不会道歉.
说这些, 只是说, 对于
那么,vim
真没什么不可能的, 只要你有只够的技能时间. 这主要因为vim
只是一个编辑器, 它把该开放的接口都开放了, 你想干什么, 写插件就OK了.Vim
的中文手册, 抛开一些更新日志, 至少有1500
页. 即便你看完了, 也不见得会写插件, 还要看书. 只就Vim
的快捷键和操作, 我粗略了记了一下前300页的用户指南, 笔记就记了1000
Java
这边究竟什么情况, 我还真不知道, 但就Java
95年就搞出来,vim
91年就搞出来了, 它俩共渡的日子少算也有20年了, 在这期间, 各种Java IDE
导出不穷, 但也没见谁搞出个屎来. 🎜 🎜YCM
对Java
提供的补全, 使用eclim
, 它和YCM
没有关系,YCM
只是提供接口,eclim
没有YCM
也能正常工作.eclim
插件的使用, 需要安装eclipse code>,
Java
界以缓慢开源着称的IDE
. 也就是说,eclim
在底层使用eclipse
来补全. 如果你不介意超缓慢的启动速度和补全速度, 可以一试.🎜 🎜这简直不能忍, 题主横刀立马, 开始着手用C++
写个Java
的语法分析器, 做成C/S
架构, 在插件中与服务器沟通来补全. 你也可以直接给YCM
写个Java
后端.🎜 🎜据说,Java
语法规范页数已经超过C++
. 但没事, 没有困难也要创造困难上, 更何况是有困难呢.🎜 🎜至此, 我已经给题主指明了一条通神之路, 翻过荆棘, 你将一跃成为vim
和Java
两界永远的大神, 彻底终结Vim
不适合写Java
的诅咒. 两派子弟必将永久膜拜朝奉.🎜 🎜如果你写出来时,Java
还活着的话...,JVM
平台的兄弟语言有点多...🎜 🎜为什么不说vim
啊, 因为vim
教永生!!!🎜 🎜特此声明, 本文不包含任何对题主的调侃或戏谑或嘲讽或质疑什么的, 如让题主不爽, 我也不会道歉.🎜 🎜说这些, 只是说, 对于vim
真没什么不可能的, 只要你有只够的技能时间. 这主要因为vim
只是一个编辑器, 它把该开放的接口都开放了, 你想干什么, 写插件就OK了.Vim
的中文手册, 抛开一些更新日志, 至少有1500
页. 即便你看完了, 也不见得会写插件, 还要看书. 只就Vim
的快捷键和操作, 我粗略了记了一下前300页的用户指南, 笔记就记了1000
多行, 这还是精简到估计只有我自己能看懂.🎜通常, 在这个问题上,
Vim
提供了:make
接口来编译, 和makeprg
来设置编译参数. 但也要承认,Vim
设计之初, 大部分的设计都是为C
这样的编译语言做的, 像文本对象a{
是选择{}
中的代码, 但对于python
来说, 块代码是同缩进的代码, 没有{}
, 对Scala
来说, 块只有一条语句时, 可以省略{}
.Vim
提供了:make
接口来编译, 和makeprg
来设置编译参数. 但也要承认,Vim
设计之初, 大部分的设计都是为C
这样的编译语言做的, 像文本对象a{
是选择{}
中的代码, 但对于python
来说, 块代码是同缩进的代码, 没有{}
, 对Scala
来说, 块只有一条语句时, 可以省略{}
.Vim
并不完美, 但比绝大多数Vimer
相像的要完美.我相信, 每个初学
Vim
, 并被Vim
的强大折服的人, 都曾试图豪言,Vim在手, 天下我有
. 然后, 在工作中碰到了Java
, 陷入装逼痛苦的泥淖中, 然后, 要么决定找一份别的工作, 要么用上了IDE
. 待再次回头, 便看到了Vim
的局限.看到一个工具的强大并不是了解, 看到它的局限才是真正的了解.
rrreee单文件
rrreeejava
文件编译映射, 只回车一次, 减少干扰这样基本上, 在同目录下, 库文件用
<leader>cs
编译, 执行文件用<leader>rs
来编译运行.这里的
rs
是run single file
的缩写, 同cs
为compile single file
.主要是为也对应
🎜rp
和cp
. 可以使用:!mvn subcmd
来映射编译和运行项目文件.p
为project
Vim
并不完美, 但比绝大多数Vimer
相像的要完美. 🎜 🎜我相信, 每个初学Vim
, 并被Vim
的强大折服的人, 都曾试图豪言,Vim在手, 天下我有
. 然后, 在工作中碰到了Java
, 陷入装逼痛苦的泥淖中, 然后, 要么决定找一份别的工作, 要么用上了IDE
. 待再次回头, 便看到了Vim
的局限.🎜 🎜看到一个工具的强大并不是了解, 看到它的局限才是真正的了解.🎜 rrreee 🎜单文件java
文件编译映射, 只回车一次, 减少干扰🎜 rrreee 🎜这样基本上, 在同目录下, 库文件用<leader>cs
编译, 执行文件用<leader>rs
来编译运行. 🎜 🎜这里的rs
是run single file
的缩写, 同cs
为compile single file
.🎜 🎜主要是为也对应rp
和cp
. 可以使用:!mvn subcmd
来映射编译和运行项目文件.p
为project
.🎜没看到生成了 test.class 吗?
应该是可以的,但,是需要插件来支持。
不可以,vim本身不具备编译器链接功能,是否可配置或者有相关插件支持尚不知道
你好,我就是用vim开发java,可以试试我写的一个单元测试插件,可以执行测试.
https://github.com/wsdjeg/JavaUnit.vim
当然你也可以直接用我的配置
https://github.com/wsdjeg/DotFiles
正常来说不可以,因为vim无法编译生成class文件
在配置文件里加入这两句,F4编译,F5运行(注意<F4><F5>后面的空格),当然前提是你装了jdk并配置好环境变量。调试感觉不行