安装JDK11

过程略,可参考:
https://blog.csdn.net/lxyoucan/article/details/111120215

macOS安装支持Python 3的neovim

为什么不用 vim?因为我使用vim时会有这样的提示: neocomplete does not work with Vim 8.2.1066+.
也许换个版本就可以了,因为我试了一下neovim直接就可以了,就没有换版本。
官方是这么说的:SpaceVim 支持什么版本的 Vim/Neovim?
建议使用 Vim 7.4 或者 Neovim v0.1.7 及其以上版本。为了更好的使用体验,建议使用最新版的 Neovim。

1、你需要先安装

brew install neovim

2、安装python支持,我用denite和YCM只需要python3

brew install python3
pip3 install neovim --upgrade

安装 SpaceVim

curl -sLf https://spacevim.org/cn/install.sh | bash

配置java环境

Java智能提示支持

《使用 Vim 搭建 Java 开发环境》https://spacevim.org/cn/use-vim-as-a-java-ide/

配置javalsp

这里我部署在 ~/.SpaceVim.d/javalsp目录,这个可以根据需要自行修改,如果修改了,则上面配置文件中的路径也要同步修改。

#创建javalsp所需目录
mkdir -p ~/.SpaceVim.d/javalsp/.cache/javalsp

下载eclipse.jdt.ls
默认下载速度很慢,推荐使用迅雷下载。
把下载下来的文件解压到 ~/.SpaceVim.d/javalsp目录。我解压后的路径如下:

itkey@ycmit: ~/.SpaceVim.d/javalsp $ l                                                                                                                                                                    [8:44:24]
total 16
drwxr-xr-x  13 itkey  staff   416B  2 19 21:28 .
drwxr-xr-x   5 itkey  staff   160B  2 20 08:36 ..
-rw-r--r--@  1 itkey  staff   6.0K  2 20 08:37 .DS_Store
drwxr-xr-x   4 itkey  staff   128B  2 19 21:27 .cache
drwxr-xr-x   7 itkey  staff   224B  2 19 22:29 config_linux
drwxr-xr-x   7 itkey  staff   224B  2 20 08:19 config_mac
drwxr-xr-x   3 itkey  staff    96B  2 18 04:25 config_ss_linux
drwxr-xr-x   3 itkey  staff    96B  2 18 04:25 config_ss_mac
drwxr-xr-x   3 itkey  staff    96B  2 18 04:25 config_ss_win
drwxr-xr-x   3 itkey  staff    96B  2 18 04:25 config_win
drwxr-xr-x   7 itkey  staff   224B  2 19 21:28 configuration
drwxr-xr-x   3 itkey  staff    96B  2 18 04:25 features
drwxr-xr-x  82 itkey  staff   2.6K  2 18 04:25 plugins

修改配置

编辑SpaceVim配置文件~/.SpaceVim.d/init.toml

vim ~/.SpaceVim.d/init.toml

SpaceVim默认是不开启java智能提示的,需要手动开启。增加以下内容:

[[layers]]name = "lang#java"[[layers]]name = "lsp"filetypes = ["java"][layers.override_cmd]java = ["java","-Declipse.application=org.eclipse.jdt.ls.core.id1","-Dosgi.bundles.defaultStartLevel=4","-Declipse.product=org.eclipse.jdt.ls.core.product","-Dlog.protocol=true","-Dlog.level=NONE","-noverify","-Xmx1G","-jar","~/.SpaceVim.d/javalsp/plugins/org.eclipse.equinox.launcher_1.6.0.v20200915-1508.jar","-configuration","~/.SpaceVim.d/javalsp/config_mac","-data","~/.SpaceVim.d/javalsp/.cache/javalsp"]

这里的-jar -configuration -data 的值根据实际部署位置调整即可。
特别是-jar,因为jar的版本一直在升级,很有可能不一样!

-configuration根据当前系统,选择对应的配置文件:

config_win, Windows 系统
config_mac, MacOS 系统
config_linux, Linux 系统

配置完成以后,下一次打开vim 会自动安装一些插件。

虽然下次打开.java文件的时候,就可以有语法检查,代码智能提示啦。
至此大部分人应该顺利完成了!

小坑提醒:
1.测试的时候千万别放在文件很多的目录,比如:不要在用户目录~/下创建.java测试。因为程序会自动扫描文件所在目录的文件,如果文件特别多,扫描时间很久。比如:我放在nvim ~/Demo.java 加载竟然需要1分 30秒

2.这里需要注意一点的是,nvim Demo.java进入编辑以后不是立马就有智能提示的,因为插件要后台启动javalsp就算状态栏下面有Ready也不行,还要等!而且没有进度条和提示。
也就是因为这一点,我老以为自己插件没安装成功。

问题是这个javalsp服务每次关闭nvim也自动关闭了,这就很难受了,每次关闭重开又得等。目前我的解决办法就是尽量就不关闭它了。执行命令在重新打开个终端吧!

如果不想重新打开一个终端,还可以挂起现在nvim进程, Ctrl + Z 然后执行完命令后,在执行 fg 回到nvim

语法树 报错解决

默认的语法树插件是 tagbar,快捷键为 F2。这一快捷键将会在左侧打开一个语法树侧栏。
在macOS下会报一个ctags的错,详细解决办法的见:
《Getting started with ctags + Vim on MacOS》

精简教程如下:

brew install ctags
alias ctags="`brew --prefix`/bin/ctags"
alias ctags >> ~/.zshrc

执行这三行后,在次在nvim编辑java代码时,就可以用F2打开语法树了。

字体乱码问题

默认打开界面可能会看到一些图标都是?号,是字体设置不正确导致的。

使用Homebrew安装nerd-font字体,顺序运行如下命令行:

brew tap homebrew/cask-fonts
brew install font-hack-nerd-font --cask

设置iterm
在依次点击(或者直接使用快捷键command+O)Profiles->Open Profiles…,选择一个你的Profiles,我的是⭐️Default,点击Edit Profiles…,在弹出界面选择Text,在界面底部勾选☑️Use a different font for non-ASCII text,选择Change Font,在Family栏下方找到并选定DroidSansMono Nerd Font或者是Hack Nerd Font。退出Profiles界面。

Java代码格式化

2021年3月6日更新详见:
《SpaceVim踩坑之java代码格式化》

-----------------教程结束-----------------


离线安装SpaceVim

https://download.csdn.net/download/lxyoucan/15378222

文件是安装SpaceVim并配置java开发环境以后生成的文件。Java开发相关环境可正常使用,智能提示正常,语法检查正常。

日期:
2021年2月20日

用途:

  • 给第一次配置SpaceVim的朋友一个参考。
  • 对于网络不佳,或者安装SpaceVim报莫名奇妙的错的朋友,直接拿去覆盖相关文件,也许能解决问题。
  • 离线安装SpaceVim使用,有些服务器只能内网使用,而且服务器本身无法上线,可以当离线安装包使用。

如果遇到
Error from LanguageClient: ‘list’ object has no attribute ‘get’
问题,解决办法见:

《macOS使用SpaceVim配置java开发环境爬坑》

参考文献

《Getting started with ctags + Vim on MacOS》

macOS中SpaceVim搭建java开发环境相关推荐

  1. 从零开始vim搭建Java开发环境[视频]

    视频教程 从零开始vim搭建Java开发环境 全屏观看 前言 起初我仅仅是想在手机上搭建一套能开发Java的vim环境.<玩转手机中的linux系统termux并搭建java开发环境> 玩 ...

  2. 从零开始vim搭建Java开发环境之coc.nvim 篇

    前言 vim之美妙我就不过多介绍了,懂的自然懂.之前我已经有一篇文章介绍如何使用SpaceVim来搭建Java开发环境. 传送门:<从零开始vim搭建Java开发环境[视频]> 最近使用c ...

  3. linux搭建java开发环境_linux中搭建java开发环境

    今天试着在Linux下面搭建java开发环境,现总结一下具体步骤. 1.JDK的安装1.6 版本 cd /opt mkdir java 执行下面命令安装JDK(首先创建/opt/java目录) tar ...

  4. 上课偷懒全靠它,VS code中搭建Java开发环境+小霸王游戏环境—颤抖吧,德玛西亚!!

    上课偷懒全靠它,VS code中搭建Java开发环境+小霸王游戏环境-颤抖吧,德玛西亚!!! Visual Studio Code 下载安装 搭建小霸王游戏环境 VS code 中搭建 JAVA 开发 ...

  5. linux中搭建java开发环境

    今天试着在Linux下面搭建java开发环境,现总结一下具体步骤. 1.JDK的安装 执行下面命令安装JDK(首先创建/opt/java目录) tar -xvf jdk-7u9-linux-i586. ...

  6. Mac搭建Java开发环境最佳指南

    一.前言 作为一名Java开发工程师,入门以及在公司的工作环境都是使用的Windows,有一家公司的办公电脑环境用的是ubuntu系统,还没有体验用Mac来开发是怎么样的感受呢. 个人电脑还是刚上大学 ...

  7. sublime text java 开发_Sublime Text 3搭建Java开发环境

    作者:chszs,转载需注明. 作者博客主页:http://blog.csdn.net/chszs Sublime Text 2是我非常喜欢的文本编辑器,它美观漂亮.轻量级.本文讲述怎样在Sublim ...

  8. Docker最全教程之使用Docker搭建Java开发环境(十八)

    前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...

  9. Docker最全教程之使用Docker搭建Java开发环境

    前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. Java [Jav ...

最新文章

  1. java 502错误,Spring Boot连接超时导致502错误的实战案例
  2. 你真的认识 “ 数据中心网络 ” 吗?
  3. 21种mysql_Mysql中,21个写SQL的好习惯,可以看一下
  4. Kubernetes权威指南精彩段落
  5. mysql不能设置密码_mysql不能设置密码
  6. 图形学 射线相交算法_计算机图形学中的阴极射线管(CRT)
  7. Linux 学习笔记_12_Windows与Linux文件共享服务_1.1_--Samba(下)Samba经典应用案例
  8. 为什么存取周期大于存取时间_为什么开放存取很重要
  9. linux系统安装本地r包,linux环境下安装R包DESeq2的报错以及解决方法
  10. python中的class类使用方法[探索3]
  11. 【转载】Apache如何设置访问一个目录需要密码
  12. vs2015 编译时项目出现NuGet程序包还原失败,找不到xxx.xxx.xxx版本的程序包,怎么解决这个问题?
  13. 测井储层参数预测+人工智能方法
  14. php中句柄是什么意思,“句柄”到底是什么意思啊
  15. RGB TFT-LCD彩条显示实验
  16. 利用ArcSoftFace做人脸识别-屏幕卫士 保护你的屏幕不被别人偷窥
  17. C语言去掉字符串前后空格,中间多余空格
  18. tickeys 1.1.0 中文版 (键盘打字音效模拟)
  19. 8寸ndows平板,三款8英寸Windows平板对比体验
  20. 音频之声道、采样位宽、采样率转换原理及其代码实现

热门文章

  1. Silverlight MMORPG网页游戏开发课程[一期] 第十一课:战斗系统之脚本与精灵捕获...
  2. 使用jquery中$.each()方法来循环一个数据列表
  3. 自定义kafka高效的protoStuff序列化
  4. 【IDE】Visual Studio使用技巧
  5. 面向对象编程类的内聚性
  6. No-ip的使用(解决没有固定ip问题)
  7. STM32 USART使用奇偶校验位
  8. 为Python的pip设置多个源
  9. 【Activity】绘制流程图方式(部署,启动不讨论)
  10. 《老头子做事总是对的》