aboutsummaryrefslogtreecommitdiff
path: root/plugin/subwords.vim
Commit message (Collapse)AuthorAge
* fieldmarshal.vim: use <cmd> instead of :<c-u> to fix some bugs.Josh Rahm2022-09-01
|
* subwords.vim: split functions into the autoload directory.Josh Rahm2022-08-30
|
* subwords.vim: better organize file betterJosh Rahm2022-08-27
|
* subwords.vim: T/F should clear the subword mark.Josh Rahm2022-08-27
|
* subwords.vim: More featuresJosh Rahm2022-08-27
| | | | | | * Add ability to repeat motion with ,/; * Add ability to disable bindings * Change motions to +/-
* Implement subwords.vimJosh Rahm2022-08-24
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.