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 press d, 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.

Alex strictly uses Helix. It is a “post-modern” modal editor written in Rust. It maintains the speed of Vim but replaces archaic keybindings with a more logical, visual selection model (Selection -> Action). It is faster, smarter, and comes with modern features like multi-cursors built-in by default.

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.

Last updated on