A Vimlike Fluency: Bibliography and Next Steps

Acknowledgements

The original recipient of these tips was Ariana Promessi, who also edited and contributed to the final versions on this site. She in particular distilled the notion of “ephemeral nouns” which make their first appearance in the tip on Search.

Feedback from the r/vim community on Reddit also helped to improve the quality of the tips. There were some useful suggestions in particular from user /u/abraxasknister whose prodding influenced the approach taken in the tip on Scrolling, and also inspired me to come up with the term vimlike to describe the class of editor whose users form the audience for these tips.

Reader srea pointed out the text objects gn and gN which I didn’t know about. For reasons of symmetry it may be best to include these in the tip on Search, an inclusion I may make in a future revision. The use of the column command in the tip on Aggregate Operations was contributed by D. Ben Knoble.

Bibliography

For every enterprising blogger who writes a few articles sharing valuable things they’ve learned over the years from sources usually unknown even to themselves, untold numbers of others labor unseen in the mines to create this value made visible on the surface. Everyone deserves to be recognized for the value they contribute, in ways small and large, and the truth is, a bibliography doesn’t come remotely close to doing this justice or even begin to reckon with the true scale and import of the problem to be solved. I’ve written elsewhere about better ways that we might do this, but until we get there, here are some resources and plugins that I can wholeheartedly recommend for further development. If you can think of others that should be included, just point them out in the comments and I am happy to add them.

Vim as a Language
  • You Don’t Grok Vi
    • a classic StackOverflow post by Jim Dennis
    • mentions registers as objects in the grammatical sense
  • Learn to speak vim — verbs, nouns, and modifiers!
  • VimSpeak — this looks very cool
  • While a picture is worth a thousand words, it could also be said that a formal grammar is worth a thousand explanations. Here are some worthy attempts at describing Vim’s grammar.
    • Vim Grammar
      • This points out that the w and W nouns “modified” in text objects like iw and aW are not the same as the nouns w and W indicated in motions. We can understand this in the context of Vim’s underlying noun of character ranges.
    • Vim Normal Mode Grammar
      • very interesting article
      • this one attempts to treat 0 $ etc as “motion verbs”, whereas the present series treats these as ways to indicate nouns, making the distinction that verbs are transformations of the text rather than of the perspective (cursor or view)
    • A Grammar for Vim’s Normal Mode
      • My own rough attempt that I made in the course of writing these tips. It encodes some of the things covered here, such as treatment of C and D etc. as built-in macros.
Vimlikes

I’m including here editors or extensions for other platforms whose stated goal is full emulation of Vim. I have not used many of these, though, so please comment if you have an opinion about them or know of others that should be included.

Beginner
Further Development
Plugins

In general, for anything that extends your Normal mode vocab (e.g. new noun (motion + text object), new verb, etc.), adding it is a no-brainer. For other stuff, it’s a matter of personal preference.

Blogs, Tips, Etc.
Standard Resources
Interesting

“License”

This work is “part of the world.” You are free to do whatever you like with it and it isn’t owned by anybody, not even the creators. Attribution would be appreciated and is a valuable contribution in itself, but it is not strictly necessary nor required. If you’d like to learn more about this way of doing things and how it could lead to a peaceful, efficient, and creative world, and how you can help, visit drym.org.

Leave a Reply

Your email address will not be published. Required fields are marked *