Vi(m) Hurts:

Ouch I Wish I had a GUI

What makes Vim painful is also what makes it powerful. There are some cute ads for one of the first Macs with a gui that talks about how clunky keyboard shortcuts had been replaced by visible menus. And clunky they are, but they make you fast and powerful.

This all doesn't happen overnight, mind you. It takes time to relearn how to copy-paste, save-and-quit, and more time still to realize that highlighting no longer exists. But it absolutely will save your skin as a Linux administrator, and also help you think better about programming and systems management.

To wit; Vim is a file editor, derived from the older Vi program (an acronym for Visual Interface). It does stuff similar to TextEdit or Word, but purely on the CLI. It's something of a WYSIWYG editor, in and of that you can see your file before you save it and quit the program. The Jargon File lists it as 'the de facto standard Unix editor,' and you will be pleased to know that it comes installed on nearly all forms of Linux. Emacs might be better, but I haven't learned much about it just yet.

The Jargon File also mentions that it 'tends to frustrate new users to no end,' which was absolutely true for me when I first picked it up during my first week at Trustwave so many years ago. Unlike Nano, there's no friendly bank of prelisted commands at the bottom that let you know when and what to do. Like a piano player or a League of Legends champ, you have to know what the keys do before you start smashing them if you want to generate anything of value. But unlike LoL, the high learning curve actually rewards a user at the end.

Just to list a couple of shortcuts here that I've come to know by heart:

dd: delete an entire line (2 d's in rapid succession)

Shift + D : delete what's on the line to the left of the cursor

u : undo last action (can undo multiple changes)

i: enter 'insert' mode (aka with the ability to edit).

Of course, there is lots more. You can read the vi manpage if that's your jazz, or if you prefer, to check out any of the endless courses, videos, articles, and lectures searchable via your engine of choice. I advise you do so, and to start as soon as possible: it will make you a wildly useful server tech at the worst, and probably a better technologist as well.

Check in later as I update this series!