I really despise the use of the mouse, in some way it just feels somewhat wrong, especially the need to constantly move one hand between the mouse and the keyboard. Also I’m way faster at typing that I am pointing and clicking around looking for the right button to press. Terminal commands offer a simple and expressive way to interact with the computer.
I’m a bit surprised that no-one mentioned ALE. If you want to turn vim into an IDE it goes a long way.
Having the compiler warnings/errors inside the buffer is already really useful, but then you can also add LSPs and there isn’t really much missing. I’ve recently developed a Java program entirely in vim using Eclipse’s LSP.
I’m a bit surprised that no-one mentioned ALE. If you want to turn vim into an IDE it goes a long way.
That’s very useful! Thank you for mentioning that!
I’ve recently developed a Java program entirely in vim using Eclipse’s LSP.
Very interesting! I’d assume one would have to be relatively fluent in Vimscript to pull that off. Would you mind sharing your thoughts regarding Vimscript? I especially feel the need to ask as a lot of other users so far have been championing Neovim with some of them being particularly vocal regarding their dislike towards Vimscript. And would you also be so kind to share your thoughts regarding Neovim?
have to be relatively fluent in Vimscript to pull that off
I don’t think so, using ALE just requires to install the plugin and the external programs that it will interrogate. I know almost nothing about Vimscript.
thoughts regarding Vimscript
From what I’ve seen it’s a scripting language like any other, but one that is extremely specific to vim. The syntax is also quite different from anything else, so I never felt the need to learn it.
Neovim
As a general concept, it seems a good idea, I also know Lua so it would seem to be a logical switch for me.
However, during these years every time I tried it it had some slight differences from vim that made using it somewhat annoying. Moreover, it never seemed to provide such a better experience that made me switch permanently. I’d like to like it, but I never had a reason to.
Honestly, I don’t even remember. It was something to do with minor differences in the cursor movements of specific commands.
Anyway, it’s been years, anything may have changed in the meantime. I should probably give it another go, those were simple nitpicks that I was too impatient to tolerate.
For the second question, the Arch Wiki has loads of helpful information. It doesn’t just talk about Arch stuff though, it goes over a bunch of programs and configurations.
I’m actually using nvim for rust development and it’s really fucking great but I’ve been using vi for like 25 years so for me the only issue was configuration, the editor is just natural for me. If you also have to learn the editor I don’t know what your experience will be.
As for configuring it for development I started with spacevim and managed with half the functionality normal IDE provides for quite some time. The experience was still good. About 6 months ago I set up nvim and now I have everything I need. I think setting up nvim for rust was as complicated as setting up spacevim. Spacevim provides way more out of the box but changing configuration is not easy at all.
I don’t worry about vim/nvim “schism”. The support is still great.
I would say just go with nvim, spend a week to set it up and don’t get too obsessive if small things don’t work. Enjoy the amazing responsiveness and great editor and you will figure out everything eventually. And if you have any questions just ask. I can share my config.
As for configuring it for development I started with spacevim and managed with half the functionality normal IDE provides for quite some time. The experience was still good. About 6 months ago I set up nvim and now I have everything I need. I think setting up nvim for rust was as complicated as setting up spacevim. Spacevim provides way more out of the box but changing configuration is not easy at all.
Would it be fair to assume that the switch from SpaceVim to Neovim was due to how difficult changing its configuration was to better suit your needs? Would you say this is SpaceVim’s fault? Or rather Vimscript is to be blamed?
I don’t worry about vim/nvim “schism”. The support is still great.
I also meant it in the sense that perhaps later down the line something else will come out to ‘replace’/‘improve’ upon Neovim. Until -in turn- that one is one day replaced as well and so on and so forth… Like, we’ve already gone from Vi -> Vim -> Neovim. While, on the other hand, Emacs still is Emacs. Thankfully, the modal editing part of Vim should persevere regardless; even if the name of the editor changes every so often.
I would say just go with nvim, spend a week to set it up and don’t get too obsessive if small things don’t work. Enjoy the amazing responsiveness and great editor and you will figure out everything eventually. And if you have any questions just ask. I can share my config.
Thank you for the encouragement! At this point, I intend to start with Vi(m) to get used to the core experience.
The problem with SpaceVim is that it offers a lot of toggles that are easy to switch but there are no examples for more ‘custom’ config and I struggled to figure it out. There’s a lot of examples and guides for nvim so it was easier. I don’t know, maybe it was just me but with SpaceVim I also didn’t really see what’s possible. With nvim I just found long lists of useful plugins that you can add one by one.
As for the future I don’t really worry that there will be next thing after neovim. I didn’t write any custom scripts for it, all I have is just plugins with mostly default settings. It would take me a day to switch to another tool witch is not a big issue.
I think starting with Vim is a good idea. You can easily add plugins one by one when you will see the need for them.
The problem with SpaceVim is that it offers a lot of toggles that are easy to switch but there are no examples for more ‘custom’ config and I struggled to figure it out. There’s a lot of examples and guides for nvim so it was easier. I don’t know, maybe it was just me but with SpaceVim I also didn’t really see what’s possible. With nvim I just found long lists of useful plugins that you can add one by one.
Makes a lot of sense. Documentation is indeed very important. Thank you so much for sharing your insights and experiences!
Step 1: Take a look at the most popular desktop environments: Cinnamon, GNOME, KDE Plasma and Xfce. If possible, consider even booting up a so-called live-usb and/or VM for some proper testing.
Step 2: Pick either one out of Fedora, Linux Mint, openSUSE and Pop!_OS as long as they provide a Flavor/Spin of your favorite desktop environment (which you should have found out by now (See Step 1)). While not exhaustive, the following might help you out:
If you have an Nvidia GPU, then just use Pop!_OS. Unless you really, but like really hate its GNOME implementation.
Linux Mint and Pop!_OS are arguably the most newbie-friendly out of these. This doesn’t mean that Fedora or openSUSE are hard by any means. (Heck, I started my Linux journey with Fedora.) However, both Fedora and openSUSE are known for their great adherence to FOSS. Therefore, some decisions related to initial setup might not have been taken with a focus on making it as user friendly as possible.
If security is your highest priority, then consider either one of Fedora or openSUSE with GNOME/KDE Plasma. It’s not like the others are security nightmares, however Fedora and openSUSE are known to take security more seriously than the others do.
Both Linux Mint and Pop!_OS are distros that are based on LTS distros. As such, the base system will not change a lot until you upgrade to the next big release; which happens once every two years. Fedora, is able to change more considerably between its major releases; which happen once every half year. On the other hand, openSUSE Tumbleweed doesn’t really hold back updates at all; there’s an (almost) constant stream of updates. Though openSUSE also offers distros with a ‘more stable^[1]^’ release cycle; the likes of Slowroll and Leap come to mind.
Where can I find useful resources for learning about a given distribution?
Consider asking it here. We’ll do our best to answer. Furthermore, DistroWatch.com is a great resource.
Stable, in this context, refers to slow to no rate of change while running software. So, in this context it isn’t used to convey breakage etc.
I’m surprised to see that no one has mentioned the following yet:
“KDE Edition
In continuation with what’s been done in the past, Linux Mint 18.3 will feature a KDE edition, but it will be the last release to do so.
I would like to thank Kubuntu for the amazing work they have done. The quality of Plasma 5 in Xenial made backports a necessity. The rapid pace of development upstream from the KDE project made this very challenging, yet they managed to provide a stable flow of updates for us and we were able to ship good KDE editions thanks to that. I don’t think this would have been possible without them.
KDE is a fantastic environment but it’s also a different world, one which evolves away from us and away from everything we focus on. Their apps, their ecosystem and the QT toolkit which is central there have very little in common with what we’re working on.
We’re not just shipping releases and distributing upstream software. We’re a product distribution and we see ourselves as a complete desktop operating system. We like to integrate solutions, develop what’s missing, adapt what’s not fitting perfectly, and we do a great deal of that not only around our own Cinnamon desktop environment but also thanks to cross-DE frameworks we put in place to support similar environments, such as MATE and Xfce.
When we work on tools like Xed, Blueberry, Mintlocale, the Slick Greeter, we’re developing features which benefit these 3 desktops, but unfortunately not KDE.
Users of the KDE edition represent a portion of our user base. I know from their feedback that they really enjoy it. They will be able to install KDE on top of Linux Mint 19 of course and I’m sure the Kubuntu PPA will continue to be available. They will be able to port Mint software to Kubuntu itself also, or they might want to trade a bit of stability away and move to to a bleeding edge distribution such as Arch to follow upstream KDE more closely.
Our own mission isn’t to diversify as much as possible in an effort to attract a bigger chunk of the Linux market, and it’s with a bit of sadness that we’re letting this edition go. We focus on things we do well and we love doing to get better and better at doing them. KDE is amazing but it’s not what we want to focus on.
With Linux Mint 18.3, we’ll release one more KDE edition. I wanted this announcement to come before the release. It will hurt its popularity of course, but I wanted to give users time, either to react right now or to take their time, upgrade and adapt to this later on. I’m sure this edition will be missed and I hope its users understand our decision.”
Note that this doesn’t mean that you can’t use KDE Plasma (or GNOME for that matter). Though you have to be aware that you’ll be on your own whenever something breaks. And if you have to ask how to change Desktop Environment in the first place, then I think that you might not be ready yet for such a ride. Instead, consider using a distro that actually does offer GNOME and/or KDE Plasma editions of its distro; the likes of Fedora, openSUSE and Pop!_OS come to mind.
If looking to put in the work while also leveling up in programming since you have some basic experience already, NixOS/Guix should be on your shortlist.
Both have programmatic, declarative configuration instead of a mangle of configuration files that tend to break with entropy as software developers update config files & it’s very easy to miss a broken build until you restart (I remember when PAM had an update & a lot of folks, including myself, panicked as they could no longer log into their machines). Since these config files are tied to versions of software, such issues are much rarer, & with stateless config you get rollbacks to previous working versions for free. Both ship with a powerful package manager that can replace bad programming language package management & tools with overhead like Docker.
The biggest downside is having to learn Nix (language) or Guile Scheme to be able to script your config, but once you get the hang of it, it’s hard to feel confident in any stateful system & you learned valuable skills for package management.
linux
Newest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.