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

Use of emphasis in speech

Generating a lot of language data with a theorem prover

"Litany Against Fear" in Present Tense

When it's time to party we will party hard

these are people who died

divine carrot

the frog

what it’s like to get nail phenolization

Why 0 to the power of 0 is 1

Lines and Points are Circles