2 UNIX anti-patterns


Using visual mode in vim is often like using cat in UNIX: unnecessary. If you’re uncharitable, it indicates a lack of understanding about the basic philosophy of each piece of software.

UNIX tools are designed to work on files and STDIN (standard input). Which is why piping a file through cat into a utility like grep is pointless since grep can work on files directly.

Say you want to search for the word “dog” in a file called “my_file”. Instead of cat my_file | grep "dog", you can just type grep "dog" my_file.

Similarly, Vim has operators, which are designed to work on text objects. Which is why there’s rarely a need to visually select text, unless it’s a very irregular region. For most use cases, like copying a paragraph, you can just give the operator the text object directly.

For example, say you want to delete a paragraph. Rather than typing vap (visual around paragraph) and then d (delete), you can just type dap.

There are use cases for both “anti-patterns”. In a long pipeline, typing cat at the beginning can make it clearer to read, and selecting irregular regions or desiring visual feedback on certain operations benefits from visual mode.

But a lot of the time, there’s no reason to use them.

Related Posts

Sammy Cottrell

Jump or die, dumbass

beats you

kairos

Mechanistic Interpretability and Lean 4

John Arbuthnot

zeno timer trick

WHY ARE YOU SO CALM?! My scooter accident

Beyond strength

The amount of honor to go around is very limited