akuszyk.com

A blog about software engineering, collaboration, and--occasionally--Emacs.

View on GitHub

The Art of Text Editing in the AI Age

In the age of AI, agents are the main operator in charge of editing text files. Humans write the prompts; agents write the files. In this AI-centric future, one might wonder: why should I need to understand how to edit files myself?

My opinion is that basic text editing skills have always been valuable, and remain valuable today. Where now we have AI, we have previously had the all-powerful IDE. It had menus and GUIs for all sorts of things that provided powerful abstractions over simple operations. Then and now I maintain: there is an art to text editing using foundational tools that are available everywhere.

The tools I’m referring to are those such as vim, emacs, and Linux command-line utilities (e.g. grep, sed, etc.). These tools are probably already installed on your machine, and are widely available wherever you go—whether that’s another local workstation, or a remote server.

Not only are these tools valuable in a practical sense—i.e. they can help you with the mechanics of editing files—but they are also important from a philosophical angle as well.

A person’s understanding of how to work across projects, make sweeping changes, link a series of modifications together—in other words everything we do as programmers—is rooted in a fundamental understanding of how to edit files. If you’re understanding stops at the IDE or the coding agent, then my view is that you’re missing a valuable insight: how to edit text using foundational tools. It’s my opinion that knowing how to edit text with these tools helps improve the way you reason about text editing, no matter which sophisticated abstraction you might be using.

That’s why I’ve decided to write this blog post series about the art of editing text, using vim, emacs, and the Linux command-line. I think these skills have always been important, and will remain important—even in the age of AI.

I’m going to structure the series around individual text editing operations, and cover:

The topics I’m going to cover are:

  1. The art of text editing (this post!)
  2. Reading a file
  3. Navigating a file
  4. Searching within a file
  5. Finding a file in a project
  6. Searching within files in a project
  7. Replacing text in a file
  8. Replacing text in files in a project
  9. Inserting text in a file

You can see from this list that this art-form primarily involves interacting with files—reading, finding, searching. Inserting text is an important element to this, but more important is the skills to understand a set of files and reason about them. With or without AI, I think this is a foundational skill that will pay back its value many times throughout the career of a software engineer—even in the age of AI.