Linux Foundation - Text Editing with Vim (SC100)
One tool you can face while working in the Linux shell is Vim - the powerful yet mysterious text editor that has been around for decades (and is here to stay).
But it scares a lot because:
-
it’s very powerful, and you can do a lot of stuff without even understanding what you have done and how to undo it
-
and at the same time, it’s different from the code editors that most people are used to
-
not to say that it might be a quest to exit from it
: I was in this situation many years ago when I literally had to switch to Google to figure out how to exit from “that program”
Since in recent years, I fell in love with DevOps practices, I do some stuff in the terminal whether for work or personal projects, and I use Vim, Nano, or whatever editor is present in any particular system (which I use if I do not want to install another editor on some system or simply cannot install it because the system may be a tiny embedded Linux distro without a package manager as such).
Nonetheless, I still felt myself somewhat worried while using Vim.
To help myself overcome the fear of Vim, last year I signed up for an exam from the Linux Foundation. Why? Because exams dictate and push the learner to become familiar with some stuff in a systematic way covering many of the expected use cases and features (which is beneficial in many senses).
Unfortunately, it turned out that this exam didn’t include the training materials , so I had to find them on my own.
To put it short, for any person coming from the world of GUI editors like VS Code / Visual Studio / etc. into the world of Vim for the first time:
-
learn some basic commands or at least have them at your disposal before opening Vim (or you may not quit it
)
- pretty good intro is available in the VIM Tutor, simply type
vimtutor
in your shell to open it
- pretty good intro is available in the VIM Tutor, simply type
-
main step: practice, practice, practice
-
get some new training materials / read the docs and enter the infinite loop: go to step #2
Vim, Bash, and many other tools have a lot of switches/options/features, and the number of their combinations is truly enormous, thus stepping on the road of (hopefully) mastering them often becomes a life-long journey.
P.S.: I passed it, the exam was 50 minutes long and had around a dozen hands-on tasks and every minute was useful: I finished when only 3 or 4 minutes were left on the timer