Look, some of us old farts started on Linux back before nano was included by default, and your options for text editing on the command line were either:
- vi/vim, a perfectly competent text editor with arcane and unintuitive key combos for commands
- emacs, a ludicrously overcomplicated kitchen-sink program that had reasonable text-editing functionality wedged in between the universal woodchuck remote control and the birdcall translation system
Given those options, most of us chose to learn how to key-chord our way around vim, and old habits die hard.
> my wife
> vim user
fake
:q!
I’m sorry, you need to :s/replace/her/ as soon as possible.
I refuse to see how vim and emacs is worth learning. I only use it because that’s the only option when editing server files. Beyond this, I couldn’t imagine coding in these environments from scratch.
By the way, for editing server files consider nano. It’s also widely available, has simpler shortcuts and displays them on the screen. It’s obviously not powerful like vim, but a good match when you just need to edit a config file.
Nano is just as fiddly as vim and way less powerful when you actually figure out what you’re doing though?
Ie a completely redundant piece of software that has no place being pre-installed anywhere
how is it just as fiddly as vim? it’s the only one that’s even half intuitive
I only use it because that’s the only option when editing server files.
suggestion 1: use nano. Unlike vi(m) and emacs, it’s meant for humans, all the command shortcuts you can execute are listed at the bottom.
suggestion 2: browse the servers in question via your file explorer (
sftp://user@server
or justsftp://server
) of choice or WinSCP if you’re on windows, open whatever file with your local graphical text editor of choice.
Emacs can do that obviously. And everything else.
Relevant xkcd
As someone who’s been a software developer for over a decade and in IT even longer, I still don’t use vi/vim for anything other than when crontabs have it set as the editor.
Honestly if you don’t use vim motions in your ide of choice, you’re missing out big time. Being able to do things like “Delete everything inside these parentheses”.
di(
or “wrap this line and the two lines below r in a pair of {}”ys2j{
, or “swap this parameter with the next one”cxia]a.
with a single shortcut is game changing.Even just being able to repeat an action a number of times is ridiculously useful. I use relative line numbers, so I can see how many lines away a target is and just go “I need to move down 17 lines” and hit
17j
.Absolutely insane how much quicker it is too do stuff with vim motions than ctrl-shift-arrows and the like
Absolutely insane how much quicker it is too do stuff with vim motions than ctrl-shift-arrows and the like
Those tasks are a very small part of work time, so most people don’t feel the need to optimize it.
As a software dev, they’re significant parts of what I do
alias vi=nano
export EDITOR=nano
.But (neo)vim is amazing so there is no need to do that.
I transfer all my files over to a Windows machine and edit them in Notepad
Stop showing off VIM to your wife would be a good start. I mean, I would do the same if she tried to show off her make tutorials to me.
You realize that this is !programmer_humor@programming.dev, right?