<?xml version="1.0" encoding="utf-8"?> 
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
 <title type="text">willghatch blog: Posts tagged 'vim'</title>
 <link rel="self" href="http://www.willghatch.net/blog/feeds/vim.atom.xml" />
 <link href="http://www.willghatch.net/blog/tags/vim.html" />
 <id>urn:http-www-willghatch-net:-blog-tags-vim-html</id>
 <updated>2025-02-13T14:30:00Z</updated>
 <entry>
  <title type="text">Key Binding Pattern Story: Window Management</title>
  <link rel="alternate" href="http://www.willghatch.net/blog/key-binding-pattern-story_window-management/?utm_source=vim&amp;utm_medium=Atom" />
  <id>urn:http-www-willghatch-net:-blog-key-binding-pattern-story-window-management</id>
  <published>2025-02-13T14:30:00Z</published>
  <updated>2025-02-13T14:30:00Z</updated>
  <author>
   <name>William G Hatch</name></author>
  <content type="html">
&lt;p&gt;Let me tell you a story about key bindings.&lt;/p&gt;&lt;a href="http://www.willghatch.net/blog/key-binding-pattern-story_window-management/?utm_source=vim&amp;amp;utm_medium=Atom"&gt;&lt;em&gt;More&amp;hellip;&lt;/em&gt;&lt;/a&gt;</content></entry>
 <entry>
  <title type="text">Composiphrase: Composable editing language like Vim, but moreso</title>
  <link rel="alternate" href="http://www.willghatch.net/blog/text-editing/composiphrase_composable-editing-language-like-vim-but-moreso/?utm_source=vim&amp;utm_medium=Atom" />
  <id>urn:http-www-willghatch-net:-blog-text-editing-composiphrase-composable-editing-language-like-vim-but-moreso</id>
  <published>2025-02-11T13:20:00Z</published>
  <updated>2025-02-11T13:20:00Z</updated>
  <author>
   <name>William G Hatch</name></author>
  <content type="html">
&lt;p&gt;One of the best ideas in Vi and Vim, which I rightfully see praised online frequently, is the idea of a &amp;#8220;composable text editing language&amp;#8221;.
Vi has a bunch of movements, like &lt;code&gt;w&lt;/code&gt; for &amp;#8220;forward word&amp;#8221;, and some operations, like &lt;code&gt;d&lt;/code&gt; for &amp;#8220;delete&amp;#8221;, and you can put them together.
&lt;code&gt;dw&lt;/code&gt; deletes forward one word.
You can also add a number: &lt;code&gt;4dw&lt;/code&gt; deletes 4 words.
Vim adds &amp;#8220;text objects&amp;#8221;, which are &amp;#8220;selection&amp;#8221; instead of movement, eg. select a word, a sentence, etc.
You can also compose these with commands, so &lt;code&gt;diw&lt;/code&gt; deletes a word, &lt;code&gt;di)&lt;/code&gt; deletes inside parentheses, etc.
But what if we took the ideas of composability and language more seriously?&lt;/p&gt;&lt;a href="http://www.willghatch.net/blog/text-editing/composiphrase_composable-editing-language-like-vim-but-moreso/?utm_source=vim&amp;amp;utm_medium=Atom"&gt;&lt;em&gt;More&amp;hellip;&lt;/em&gt;&lt;/a&gt;</content></entry>
 <entry>
  <title type="text">Dethroning the King of Text Objects: Visual Line Mode</title>
  <link rel="alternate" href="http://www.willghatch.net/blog/text-editing/dethroning-the-king-of-text-objects_visual-line-mode/?utm_source=vim&amp;utm_medium=Atom" />
  <id>urn:http-www-willghatch-net:-blog-text-editing-dethroning-the-king-of-text-objects-visual-line-mode</id>
  <published>2025-02-04T21:00:00Z</published>
  <updated>2025-02-04T21:00:00Z</updated>
  <author>
   <name>William G Hatch</name></author>
  <content type="html">
&lt;p&gt;As mentioned last time, I&amp;rsquo;ve been reconsidering visual line mode.
Don&amp;rsquo;t get me wrong, I love visual line mode.
But vi and its descendants are very line-centric.
Lines are first-class, while every other way of looking at or splitting up the text, or &amp;#8220;text object&amp;#8221;, is sort of second class.
There are so many features of vi and vim that operate on lines specifically, that just don&amp;rsquo;t work with other ways of looking at text.
Eg. ex mode operates specifically on lines, or ranges of lines, and specifically not on character regions with partial lines.
Visual line mode and paste work together to operate cleanly on lines.
The default keymap has keys that work extra conveniently on lines.
There is an extra goto-line command, and marks have extra line mode instead of just going to the mark position.
Etc.&lt;/p&gt;&lt;a href="http://www.willghatch.net/blog/text-editing/dethroning-the-king-of-text-objects_visual-line-mode/?utm_source=vim&amp;amp;utm_medium=Atom"&gt;&lt;em&gt;More&amp;hellip;&lt;/em&gt;&lt;/a&gt;</content></entry>
 <entry>
  <title type="text">A New State Of Affairs:  Estate Mode</title>
  <link rel="alternate" href="http://www.willghatch.net/blog/text-editing/a-new-state-of-affairs_estate-mode/?utm_source=vim&amp;utm_medium=Atom" />
  <id>urn:http-www-willghatch-net:-blog-text-editing-a-new-state-of-affairs-estate-mode</id>
  <published>2025-02-04T20:28:55Z</published>
  <updated>2025-02-04T20:28:55Z</updated>
  <author>
   <name>William G Hatch</name></author>
  <content type="html">
&lt;p&gt;While I&amp;rsquo;ve shed evil-mode, I still want to use modal editing&lt;span style="vertical-align: super; font-size: 80%"&gt;&amp;#128509;&lt;/span&gt;, of course.
I wanted to shed the on-character cursor positioning as &lt;a href="/blog/text-editing/cursor-positioning/"&gt;discussed previously&lt;/a&gt;, among other things.
I considered several modal editing packages in emacs, and... ok, yeah, I wrote my own.
I feel like I need to justify this.&lt;/p&gt;&lt;a href="http://www.willghatch.net/blog/text-editing/a-new-state-of-affairs_estate-mode/?utm_source=vim&amp;amp;utm_medium=Atom"&gt;&lt;em&gt;More&amp;hellip;&lt;/em&gt;&lt;/a&gt;</content></entry>
 <entry>
  <title type="text">Editor Cursor Positioning</title>
  <link rel="alternate" href="http://www.willghatch.net/blog/text-editing/cursor-positioning/?utm_source=vim&amp;utm_medium=Atom" />
  <id>urn:http-www-willghatch-net:-blog-text-editing-cursor-positioning</id>
  <published>2025-02-03T21:36:55Z</published>
  <updated>2025-02-03T21:36:55Z</updated>
  <author>
   <name>William G Hatch</name></author>
  <content type="html">
&lt;p&gt;The biggest mistake of vi-style editors is that it positions the cursor on characters instead of between characters.&lt;/p&gt;&lt;a href="http://www.willghatch.net/blog/text-editing/cursor-positioning/?utm_source=vim&amp;amp;utm_medium=Atom"&gt;&lt;em&gt;More&amp;hellip;&lt;/em&gt;&lt;/a&gt;</content></entry></feed>