jdtls
(IF YOU DONT HAVE GIT INSTALLED, CLICK HERE https://git-scm.com/downloads)
copy and paste -> git clone https://github.com/izzyswe/BeanVim.git
Go to Terminal
type cd ~/.config/
<- this is your configuration folder where Neovim lives
or open open ~/.config
then unzip and drag the cloned folder into ~/.config/
rename the folder to “nvim”
launch Neovim by typing nvim
Option 1:
%LOCALAPPDATA%
nvim
Option 2:
cd C:\Users\<YourUsername>\AppData\Local\
nvim
So this preconfiguration is based on my own configurations.
The reason I decided to make a whole dedicated version of this configuration
java specific is if you’re a weirdo like me and you are chronically obsessed with using Neovim for everything.
I like using IntelliJ and Eclipse works, These were the 2 tools I used for awhile before I committed to Neovim full-time.
IntelliJ IdeaVim works great and the Eclipse vim extension is a bit spotty but works for what you need.
Out of the 2 IDEs, IntelliJ vim extension works better, However, I found myself trying to force Vim keybinds into IntelliJ
and it was getting very frustrating as there was 2 conflicting keybind for everything, Could I have just overridden alot of them? Absolutely
but i didn’t want to do the manual keybind change, my Neovim configuration had most of the basic things I needed anyways, so over the months,
I tried to commit full time to Neovim, it was difficult, remembering the keybind, knowing how and what the modularity did and what things do…etc…
Setting it up for other languages were fairly simple and didn’t require much tinkering, since the cmd line and Neovim was all you needed.
By this time, I was getting very familar with the keybind, the environment and everything, so I tried to use it for java full time
but setting up for java environment was frustrating, especially when i was trying to set up the project structure to work and run like Eclipse.
so I thought there would be exisiting popular pre configuration for Java or distro and I didn’t find many, most of them were very general for
the more modern languages or ones that don’t require too much setup, doing the bare minimum. Basically not meeting my use case.
Anyways, i realized my setup has more and more became much more focused on Java and integrated many things as a result.
I thought in case anyone would like to use Java in their Neovim and find it not worth, frustrating or time-consuming to setup a Java environment,
This is for you! its not the great by any means but I think you will be able to do most of the things you want straight out of the box,
no crazy configuring or tweaking.
I hope you find it just as helpful as I did when developing!
ALL KEYBINDS ARE CASE SENSITIVE, ALSO MY LEADER KEY IS SPACE BAR, YOURS COULD BE DIFFERENT JUST AN FYI
Action | Commands/mapping |
---|---|
Insert Mode | i |
visual Mode | v |
Scroll up | ctrl + u |
Scroll down | ctrl + d |
yank (copy) | y |
paste | ctrl + v |
undo | u |
redo | ctrl + r |
quit all | :qa |
save | :w |
force quit | :q! |
Action | Commands |
---|---|
Maven Project | :MavenInit <project name> |
Gradle Project | :GradleInit |
Eclipse Project | :EclipseInit |
Web App Project | :WebAppInit |
Open Scenebuilder | :SceneBuilder <fxml name> |
(NOTE: you can add .fxml “projectName.fxml” if you want to be specific
but the command will already know if you just type the name “projectName”, Just make sure it’s within the resources folder)
Action | Commands |
---|---|
Test Run | :Test |
Run Spring Boot | :SpringBootRun |
Action | Commands |
---|---|
Open Lazy | :Lazy |
sync Lazy | :Lazy sync |
Open Mason | :Mason |
Action | Mapping |
---|---|
Go to Declaration | g + D |
Show LSP references | g + R |
Available Code Actions | c + a |
Smart Rename | <leader> + r + n |
Show buffer diagnostics | <leader> + D |
Show line diagnostics | <leader> + d |
Go to previous diagnostic | [ + d |
Go to next diagnostic | ] + d |
Show Documentation | K |
Restart LSP | <leader> + r + s |
Action | Mapping |
---|---|
Run Program | <leader> + r |
Toggle Terminal | ctrl + t |
Toggle Outline | <leader> + O |
Toggle File Explorer | <leader> + e + e |
Toggle Explorer on current file | <leader> + e + f |
Collapse File Explorer | <leader> + e + c |
Refresh File Explorer | <leader> + e + r |
stop running program (in term) | ctrl + c |
Action | Mapping |
---|---|
Maximize/minimize split windows | <leader> + s + m |
Split window vertically | <leader> + s + v |
Split window horizontally | <leader> + s + h |
Create equal size splits | <leader> + s + e |
Close current split | <leader> + s + x |
Action | Commands/Mapping |
---|---|
Fuzzy Find in CWD | <leader> + f + f |
Fuzzy find recent files | <leader> + f + r |
Find string in cwd | <leader>fs |
find string under cursor in cwd | <leader>fc |
Open Simulators | :Telescope simulators run |
Perhaps you don’t find BeanVim to be helpful or what you exactly need
Here are other alternatives to consider:
Neovim Configuration Link or https://github.com/izzyswe/Neovim
Astrovim Link or https://github.com/AstroNvim/AstroNvim
Lunarvim Link or https://github.com/LunarVim/LunarVim
CosmicVim Link or https://github.com/CosmicNvim/CosmicNvim
NvChad Link or https://github.com/NvChad/NvChad
KickStart Link or https://github.com/nvim-lua/kickstart.nvim