Recently a student of mine (college sophomore) asked me which editor I use for code writing. I told him "vi(m)", but also mentioned emacs. When I was learning coding (with linux kernel versions before 1.0) these were the only practical choices, and since I am happy with vim, I never looked around for the upcoming alternatives. But I think some progress might have happened in this field, over these decades (of course vi and emacs have improved, too). So I have two questions:
(1) Did you start with either vi or emacs and then switched to another editor, because it worked better (whatever that means) for you, i.e., not imposed by your work environment etc.
(2) What would your editor recommendation would be, for someone using GNU/Linux environment, nowadays?
Microsoft surprised everyone a few years ago with a good, modern cross-platform editor (Windows, Mac and Linux) called VSCode [0]. Its source was open to boot. It's GUI-based and looks spiffy It has a large ecosystem of plug-ins for different languages etc. Lots of people use it -- it's the #1 tool in Stack Overflow's 2019 Developers Survey [1]<p>But VSCode phones home (Microsoft is known to be obsessed with telemetry) and some folks are not happy that the binaries are licensed as freeware [2].<p>A solution to these issues was devised: VSCodium [3], a project that creates downloadable binaries from Microsoft's source code that do not have the licensing or telemetry issues that VSCode does.<p>(This is discussed in more detail on the project's home page [3]).<p>So, VSCode/VSCodium might be worth looking at for your students. Note that, despite being GUI-based, it will still take a bit of time to learn and configure with plug-ins, etc. But it will be easier for most than learning vim or emacs.<p>[0] <a href="https://code.visualstudio.com/" rel="nofollow">https://code.visualstudio.com/</a><p>[1] <a href="https://en.wikipedia.org/wiki/Visual_Studio_Code#Reception" rel="nofollow">https://en.wikipedia.org/wiki/Visual_Studio_Code#Reception</a><p>[2] <a href="https://dev.to/twitmyreview/issues-with-vscode-license-you-should-worry-1li4" rel="nofollow">https://dev.to/twitmyreview/issues-with-vscode-license-you-s...</a><p>[3] <a href="https://vscodium.com/" rel="nofollow">https://vscodium.com/</a>
(1) I started with a hodgepodge of editors and IDEs, all of which were more hassle than they were worth. When I discovered vim that became my dominant editor for almost everything.<p>(2) For students I never hesitate to recommend a notebook environment if there's one suitable for the language at hand (e.g. jupyter for python and a few others). Beginners seem to get a handle on things better that way, and it's not hard for them to also learn an editor later if they develop far enough to need it.
Different tools for different jobs.<p>If I’m doing a lot of script editing (and maybe even Python), I use vi/vim.<p>If I’m writing C/C++, I use VS Code. Just add an extension and it works out if the box.<p>Previously, I used Eclipse for Java and Visual Studio for C# on Windows.<p>Sure, emacs could probably do all of the above, but anytime I try it, I give up. But anytime I see work colleagues using it, I look on in wonder and amazement, and a small bit of jealousy.
I started with various editors on macOS like BBEdit and all the rest.<p>I got into Vim about 7-8 years ago and haven't looked back. I was getting tired of running into limitations with other editors; with Vim, I keep learning new things as I need to.<p>Lately it's been macros for repetitive tasks and regular expressions for making sweeping edits.