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

Minimal Surfaces

November 2, 2023

NTK reparametrization

Kate from Vancouver, please email me

ChatGPT Session: Emotions, Etymology, Hyperfiniteness

Some ChatGPT Sessions

2016 ML thoughts

My biggest takeaway from Redwood Research REMIX

finite, actual infinity, potential infinity

Actions and Flows