Edit: Oh wait, I forgot Eclipse... That heavy thing :P
Edit: Oh wait, I forgot Eclipse... That heavy thing :P
What do you mean real open source project? I mean Linux is not going anywhere soon I'd say, or blender. Or are you talking about editors? There is Vim, Neovim and Emacs which all have shown that they will stick around for a while, so I really don't get what you mean.
Edit: With Vim and stuff I get your point, but I would say it's not really comparable to an UI-based IDE, it is command line stuff. Even if many people prefer that, it may not be as convenient as a GUI-based IDE for some of us.
Or am I missing something here? I really love(d) atom.io, but I need to find something else... (https://github.blog/2022-06-08-sunsetting-atom/)
JetBrains is building Fleet, which is also nice, but by comparison to their existing suite extremely lacking.
Both closed source though :/
Pretty sure the same is true for Vim or Neovim, but can't vouch for them because I do not use them myself.
Yes; especially Neovim, which not only has several GUI’s but it's designed to be embeddable, including into VS Code or a web browser. Neovim has native support for LSP and Treesitter, which enables it to IDE-like things.
Neovim is extensible using Lua 5.1 and comes with LuaJIT for speed.
It’s not just a command line thing.
To get Neovim kind of things to be anywhere near usable for modern day development work, you need to bolt a file browser, intellisense, command line section, remote editing section, container plugins, plugin installer, settings section etc etc on top of it, and is not really a trivial job for everybody to do this from scratch. Hence the use is by and large restricted to one off server side editing(This itself is getting rarer these days with containers).
In cases where Neovim is plugged into thing like vscode the experience is less than seamless. You have to keep moving between mouse and keyboard modes, formatting plugins like black for Python don't autoformat on save like they do on normal vscode editor. The intellisense doesn't work, etc.. Apart from bare minimal modal editing you really get nothing much.
To make vim/Neovim/emacs nearly as usable you need to reinvent these editing ideas but in the paradigm of modern day development workflow. And it needs be as ubiquitous as vscode. There must be little configuration work and things must work out of the box.
And lets be honest typing speed is not even relevant to software development speed so the editing efficiency gains in vim/emacs, while might save your day in heavy lifting text tasks via macros. They don't add that much gains to your workflow in normal development scenarios.
Why?
Neovim has multiple package managers. It has GUIs like https://github.com/neovide/neovide, it has support for LSP which can do something? Many people are comfortable with programming in an environment like that
It also has a terminal (even though if you use neovim you probably prefer to open terminals outside the IDE) and support remote editing too
Here are some links
https://github.com/wbthomason/packer.nvim & https://github.com/junegunn/vim-plug
I think you're coming from a place of strong familiarity with IDEs, but less familiarity with Vim. From my point of view, if you asked me to switch to VSCode, I probably wouldn't ever be as productive as I am now. This isn't because I was forced to spend hundreds of hours configuring--I was one of those people with a 5 line .vimrc for years--rather, it's because I have the ability to conform Vim to my way of thinking and working.
Some people do go ham with their configs, and it's super cool that that's possible (something you can't really do with IDEs). But I think most people probably install a few plugins/language servers, set a few variables for modelines or whatever, and they're good.
You just explained the difference in this very statement yourself. Installing a plugin in vscode is a one step process. Installing it in vim is going on shopping spree for a car first, then using the car to go on shopping spree using that car. Along the way being knowledgeable enough to occasionally service the car.
>>I think you're coming from a place of strong familiarity with IDEs, but less familiarity with Vim.
Nearly my whole career is basically writing ginormous quantities of Perl/Python/C over terminals, and I happen to be one of the heaviest users of vi(m)/emacs, on Solaris/AIX machines, then FreeBSD and now Linux. I still believe macros are the most magical things you can every touch in any piece of tech.
These days I do nearly every other kind of development, and on several different platforms. And honestly speaking, merely hours of using vscode was enough to convince to use better tools to do my job, nothing wrong with that. Its just vscode does a lot more than being a code palette.
>>This isn't because I was forced to spend hundreds of hours configuring--I was one of those people with a 5 line .vimrc for years--rather, it's because I have the ability to conform Vim to my way of thinking and working.
As a old vi(m) user, my biggest productivity steals come from learning the native design choices, and learning to use them well.
This is the same philosophy I carry over to vscode as well. The thing here is magically enough vscode does a lot of things really well out of the box.
Again, I think you're coming from a place of a lot of experience w/ VSCode and less in Vim. I needed PlantUML for something, so I:
- Googled for 'vim plantuml'
- Went to https://github.com/weirongxu/plantuml-previewer.vim
- Added "Plug 'weirongxu/plantuml-previewer.vim'" and "Plug 'akit/plantuml-syntax'" to my init.vim
- Ran ":source ~/.config/nvim/init.vim"
- Ran ":PlugInstall"
At least to me, this is the same as opening up the plugin catalog in VSCode and picking stuff.
---
I do a lot of varied development across different tech too: React, C, Svelte, Python/FastAPI/Django, Go, Lua, various SQLs, protobufs, JSON, CSVs... just all kinds of stuff. I've found Vim to not only be adequate, but excel. Maybe VSCode is great at all of these things, but that's not my point. My point is Vim works for me in the case you're describing, lots of different kinds of development on several different platforms.
> The thing here is magically enough vscode does a lot of things really well out of the box.
I think this is maybe the crux of our disagreement: you're pretty anti-config. I'm not wild about config either, some people's .vimrc files make me shudder, and when I learned about EMACS config bankruptcy I laughed out loud haha. But like, I like that I can set my default tabstop and shiftwidth, or change it per-language. I like that I can set hlsearch and incsearch. And I like that I can drop my config on almost any machine running and I'm in my element. There's a balance to strike, for sure, and maybe it is nice to sort of live out of a suitcase for your work life as it were. But for me, I've enjoyed decorating my work home.
We don’t roll like that anymore; you can just use one of several distributions that are pre-configured; most of these are 1-line installs:
bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh)
It’s basically the best of both worlds—-IDE--like functionality all set and ready to go out of the box but totally customizable. And blazingly fast; launch times are < 1 second in most cases.* LunarVim: https://www.lunarvim.org
* VaporNvim: https://github.com/VapourNvim/VapourNvim
* NvChad: https://nvchad.com
* AstroNvim: https://astronvim.github.io
Life is too short to waste working around these issues, when there is already vscode, why should one go about wasting hours to weeks of time working around these tools which don't even give a full experience.
In some cases, like this this tool in current discussion 'Lite' aren't even actively maintained(a.k.a abandonware).
Much ado about nothing
- William Shakespeare
I just wanted to point this out because it's extremely common for people to assume that Emacs is a terminal based program since it's often grouped together with and compared to (Neo)Vi(m).
It's not really logical to compare Emacs with the Vi style editors since they are completely different things. It's kind of annoying that it gets grouped in with them, since it probably causes a lot of people to never even give it a fair chance.
I think I get what you mean here: over time there have been many editors that might have contributed ideas to others, yet didn't quite make it themselves, due to either competition, failing to capture a significant market share, or any number of other factors.
In my eyes, this is especially prevalent in regards to browser based (e.g. Electron) editors.
Atom, which you mentioned, fits into this category: https://atom.io/
There was also Brackets, which similarly fell by the wayside: https://brackets.io/
Here, Visual Studio Code largely got a large market share and quickly displaced other options in the eyes of most developers: https://code.visualstudio.com/
Even in regards to native editors, there are many smaller projects.
CudaText: https://cudatext.github.io/
Geany: https://www.geany.org/
Lite: (which this post is about)
Here, however, there are more platform-specific options, and many older projects that are still going strong: Sublime Text, Notepad++, Vim, Emacs and so on. Not all of those are open source, though.
That said, while using a lesser known editor always comes with the risk that it'll be deprecated and won't see language integrations/features/plugins that you need, an editor's popularity isn't the only measure of success.
Some people don't mind using niche projects, because they feel comfy or fit their workflows well and that's good enough.
> The only real open source project that is up today is Visual Studio Code, but that will continue to be maintained, I hope.
I wouldn't say that the larger projects are the only "real" ones, though. Admittedly, it is also reasonable to generally go for the larger projects, if you want a more stable long term experience, though.
There were some minor issues having the dev team get a working macbook that could test some stuff, to make sure there were no regressions. We're going through and closing PRs now, so hopefully should transition to a full release shortly.