Text Editors
On your personal laptop, editing a file is trivial. You double-click an icon, a window pops up, and you use your mouse to highlight text and click “File > Save.” You rely on a GUI.
But as a computational biologist, your work lives on high-performance computing clusters (supercomputers). These machines are hundreds of miles away. When you connect to them, you do not get a window. You do not get a mouse. You do not get a scrollbar.
You get a black box with blinking text.
To write code or configure software in this environment, you must use a Terminal-Based Editor. This program runs entirely inside the Shell. Mastering one of these tools is not optional; it is the only way to communicate with the machine effectively. While tools like VS Code Remote exist, connections break. When they do, you must be able to fix your code directly in the terminal.
The Options
There are two main categories of editors you will encounter.
Basic
Nano is the “safe default” installed on virtually every Unix system in existence. It operates like a very primitive Notepad. You type, and letters appear. You don’t need to memorize commands to start. It is basic. It lacks powerful features for complex coding.
Modal
Vim (and its modern successor, Neovim) is the standard for system administrators and serious programmers. It is famous for its steep learning curve, which stems from one core concept: Modes.
- Insert Mode: The keyboard acts like a typewriter. You press
j, and the letter “j” appears. - Normal Mode: The keyboard acts like a control panel. You press
j, and the cursor moves down one line. You pressd, and it deletes a line.
Once you master the “language” of Vim, you can edit text at the speed of thought, without your fingers ever leaving the home row.
Which one should I learn?
If you are panicked and just need to change a single line of text, use Nano. If you want to become proficient at working in a terminal environment long-term, you must learn a modal editor.
Nano Tutorial
Just understand the basics.
VimTutor
If you choose the Vim path, type vimtutor directly into your terminal. It is a built-in interactive program that teaches you by having you edit a real file.
Helix Tutor
If you choose to follow Alex’s lead, install Helix and run hx --tutor to launch the interactive learning environment.