I think the possible valid answers are: “vi”, “emacs”, “both”, “seriously it’s 2024”, and " huh?"
A Fediverse community for open-ended, thought provoking questions
I swear to god like 90% of the questions I see on here have either one or two possible answers.
Okay, but nobody paid any attention to my multiple choice anyway, and the responses are thoughtful.
Personally nano
But who cares what you use as long as you are proficient.
If nano or pico is installed I will use those, else vi
Proficiency is absolutely key. I was troubleshooting a feature with a Jr the other day and asked him to search through the log out put (that was currently being displayed on his terminal). Unfortunately he was trying out a new emulator and didn’t know how to actually search the output.
We went about it a different way, but at the end I just told him it didn’t matter what tools he used as long as he actually knew how to do what’s required with them and to please get that figured out for next time.
vim
vi
I learnt Emacs years ago, it’s very helpful to the day-to-day terminal use, however if I could go back I would learn Vi instead, it’s better for pinky strain.
I really wish more text editors being actively developed in the present day would take advantage of the IBM CUA standard that has been embraced by Windows and (Desktop) Linux since basically the early 1990s.
Interesting, I’d never heard of that before today!
The ‘general’ package has basically fixed that for me:
https://github.com/noctuid/general.elMakes it pretty simple to swap out most common emacs shortcuts for much more ergonomic alternatives.
Butterflies
emacs. If you want vim keybindings there is a mode in emacs called “evil-mode”. If sticking with pure emacs I recommend rebinding the caps lock key on your keyboard to control.
Vi for me for config, script, and text type files. Used to use emacs a lot for developing hobby stuff but prefer other IDEs now.
Likewise, I use vi for sysadmin work, and a big IDE (VSCodium) for writing code.
vi. I can tolerate vim if I have to. I don’t even know how to quit emacs.
nano
Seriously, it’s 2024. Use vim
Both because they are the ultimate tools in maneuvering a terrible, terrible development environment. For reference, Sigasi Studio costs 2,000$ PER YEAR, and it still doesn’t work for our dev environment!
Let me paint a picture: Corporate job that won’t let you download anything except whatever you can smuggle through a git checkout. It took a month to convince IT to download vim 9.0 on the server. The programming language? VHDL and SystemVerilog and UVM. Horrible language support that relies on proprietary compilers/simulators, and always the ones you aren’t using. The one you are using is so obtuse that it has literally 50 configuration files for a single project. All of it is run with a janky python script with half of the flags not working. LSP support is out of the question since it dynamically pulls files from god knows where with at least 10 layers of …/ relative pathing.
All I can do on vim is
-
ctrl+p for fuzzy file finding and a massive blacklist of intermediate files to ignore,
-
a custom :Make command with custom errorformat that you can navigate through,
-
Universal Ctags with per library indexes to reference those far off files,
-
and a fuckton of grepping for when Go To Definition (ctrl+]) grabs the wrong location.
Vim’s autocomplete is almost always good enough. If my laundry list of plugins break, I can literally fix them on the spot and even submit the merge request on github. If you take into consideration all of this configuration and learning effort, I still save hours of navigating through the hundreds of files I have to essentially reverse engineer. My coworkers are all electrical engineers and it shows They’re using godforsaken nedit with no syntax highlighting…
I threw up a little in my mouth.
-
Nano (pico). You shouldn’t have to look at a quickref to save and quit a document.
Get in, make your changes, get out.
Yes. And others.
I prefer (neo)vim because it uses the same bindings as vi, which is on every server with a decent OS since the 70s (except maybe some exotic ones like 9P). But emacs is also a good choice. So, I’m going to go with “both”.