netbeans
I created a separate chapter for this because where i am usually very impatient with IDE's i actually stuck with this up to now..
So there must be something OK about this IDE. Of course there are problems but of course they could also be fixed if needed.
Advantages
- completely free
- maintained actively
- intuitive interface
- C/C++ support
- a working vim plugin (jvi)
Disadvantages
- startup problems
- it needs the oracle jdk, and for now NOT v14
Installation
Since you CAN install this with nasty problems, here is a guide on how not to.
Netbeans is meant for java, and also built with java.
You need to install the Oracle JDK and it must be 13 or lower at the time of writing (apr 2020). Problems like code assistance in C won't work with other versions.
If you already have oracle jdk 14 installed remove it and install 13.
If you run into problems, try to cleanup the netbeans installation like this:
Warning
Doing this means you will have to reinstall all plugins again !!
There is a vim plugin that actually does insert tab, plus repeat (.) ! However this needs to be tweaked as well, for instance :
- the spelling check is annoying and can be disabled in the editor options.
- Also disable hlsearch and incsearch
- ctrl-V does paste, so you will have to disable that key combination for block selection
troubleshooting
missing cursor
This is the only problem upto now in the jvi plugin. The cursor disappears and you can not see where you are inside the text.
On the web there are two solutions to be found :
- Tools > Options > jViConfig > Platform > MacRetinaCursorXorBug
- Tools->Options->jVi config->platform->use modal frame
I have no retina display so i tried the second and restarted. But of course it could have been the restart itself that fixed it !! People on this link https://stackoverflow.com/questions/12012444/in-jvi-for-netbeans-the-cursor-wont-appear claim that the retina fix helps also on non-retina screens, so turn that on as well !
writing files
One very annoying setting is that :w does not just write the file, but
first pops up a :write command after return, which you then have to
execute with another return. This means two returns
:w
It is easy to disable if you know where :
| disable write popup | |
|---|---|