<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fieldmarshal.vim.git/plugin/subwords.vim, branch main</title>
<subtitle>General vim bindings and configuration I can't live without.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/fieldmarshal.vim.git/'/>
<entry>
<title>fieldmarshal.vim: use &lt;cmd&gt; instead of :&lt;c-u&gt; to fix some bugs.</title>
<updated>2022-09-01T18:18:37+00:00</updated>
<author>
<name>Josh Rahm</name>
<email>rahm@google.com</email>
</author>
<published>2022-09-01T18:18:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/fieldmarshal.vim.git/commit/?id=45cfa4a0a16a31fd2a94e6ac7187e452287bbcf2'/>
<id>45cfa4a0a16a31fd2a94e6ac7187e452287bbcf2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>subwords.vim: split functions into the autoload directory.</title>
<updated>2022-08-30T18:12:16+00:00</updated>
<author>
<name>Josh Rahm</name>
<email>rahm@google.com</email>
</author>
<published>2022-08-30T18:12:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/fieldmarshal.vim.git/commit/?id=80c891e10223e560c641589fe81be6fa07f0cf1f'/>
<id>80c891e10223e560c641589fe81be6fa07f0cf1f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>subwords.vim: better organize file better</title>
<updated>2022-08-27T23:05:06+00:00</updated>
<author>
<name>Josh Rahm</name>
<email>joshuarahm@gmail.com</email>
</author>
<published>2022-08-27T23:05:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/fieldmarshal.vim.git/commit/?id=52f035e111cfe766b030d603238b0552453d036c'/>
<id>52f035e111cfe766b030d603238b0552453d036c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>subwords.vim: T/F should clear the subword mark.</title>
<updated>2022-08-27T19:13:52+00:00</updated>
<author>
<name>Josh Rahm</name>
<email>rahm@google.com</email>
</author>
<published>2022-08-27T19:13:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/fieldmarshal.vim.git/commit/?id=9fc81bbe8792f8d37efa494428638d4c36844e2b'/>
<id>9fc81bbe8792f8d37efa494428638d4c36844e2b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>subwords.vim: More features</title>
<updated>2022-08-27T19:11:02+00:00</updated>
<author>
<name>Josh Rahm</name>
<email>rahm@google.com</email>
</author>
<published>2022-08-27T19:11:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/fieldmarshal.vim.git/commit/?id=8a1c3a51721c2beb0f3bee92589ffbe88b8d3cbc'/>
<id>8a1c3a51721c2beb0f3bee92589ffbe88b8d3cbc</id>
<content type='text'>
* Add ability to repeat motion with ,/;
* Add ability to disable bindings
* Change motions to +/-
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add ability to repeat motion with ,/;
* Add ability to disable bindings
* Change motions to +/-
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement subwords.vim</title>
<updated>2022-08-24T07:26:08+00:00</updated>
<author>
<name>Josh Rahm</name>
<email>joshuarahm@gmail.com</email>
</author>
<published>2022-08-24T07:26:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/fieldmarshal.vim.git/commit/?id=0d83f507cef5f59d4b8afeed9633978394f2331a'/>
<id>0d83f507cef5f59d4b8afeed9633978394f2331a</id>
<content type='text'>
This plugin adds support for motions and text object based around
subwords. A "subword" is a constituent word of a larger "metaword"
in some case format. For examle "camel" is a "subword" of the "metaword"
"camelCase" or "camel_case".

The text objects added are

* `i-` the inner subword. For this would match something like
  "[camel]_case" or "[camel]Case"
* `a-` around the subword. This distinction only matters for snake_case,
  where the match would be "[camel_]case". For camelCase, this is the
  same as `i-`.
* `i_`/`a_` like the above, but interpret ambiguous metawords as
  snake_case. For example, the metaword ThisIs_AnExample is ambiguous
  because it's both snake_case and camelCase. `i-`/`a-` interpet it as
  camelCase, but `i_`/`a_` interpet it as snake_case.

    ThisIs_AnExample
      ^

    i- === [This]Is_AnExample
    a- === [This]Is_AnExample
    i_ === [ThisIs]_AnExample
    a_ === [ThisIs_]AnExample

The motions added are

* `M--` (Meta + hyphen) Move forward one subword
* `M-_` (Meta + underscore) Move backward one subword.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This plugin adds support for motions and text object based around
subwords. A "subword" is a constituent word of a larger "metaword"
in some case format. For examle "camel" is a "subword" of the "metaword"
"camelCase" or "camel_case".

The text objects added are

* `i-` the inner subword. For this would match something like
  "[camel]_case" or "[camel]Case"
* `a-` around the subword. This distinction only matters for snake_case,
  where the match would be "[camel_]case". For camelCase, this is the
  same as `i-`.
* `i_`/`a_` like the above, but interpret ambiguous metawords as
  snake_case. For example, the metaword ThisIs_AnExample is ambiguous
  because it's both snake_case and camelCase. `i-`/`a-` interpet it as
  camelCase, but `i_`/`a_` interpet it as snake_case.

    ThisIs_AnExample
      ^

    i- === [This]Is_AnExample
    a- === [This]Is_AnExample
    i_ === [ThisIs]_AnExample
    a_ === [ThisIs_]AnExample

The motions added are

* `M--` (Meta + hyphen) Move forward one subword
* `M-_` (Meta + underscore) Move backward one subword.
</pre>
</div>
</content>
</entry>
</feed>
