Skip to content

A text object to turn foo_bar_baz into foo_baz *and* quuxSpamEggs into quuxEggs *and* shine your shoes

License

Notifications You must be signed in to change notification settings

Julian/vim-textobj-variable-segment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

12e0759 · Sep 6, 2024

History

36 Commits
Dec 26, 2016
Jul 16, 2022
Sep 6, 2024
Sep 6, 2024
Sep 6, 2024
Jan 1, 2017
Sep 6, 2024
Nov 12, 2013
Jul 16, 2022
Dec 17, 2017
Aug 16, 2013
Jul 16, 2022
Jul 16, 2022
Jul 16, 2022
Jul 16, 2022
Oct 23, 2017

Repository files navigation

vim-textobj-variable-segment

A vim plugin providing a single text object (on iv and av) for variable segments. A variable segment is defined to be a substring in any identifier character followed by an underscore ("snake case") or a lowercase identifier character followed by an uppercase character ("camel case").

E.g.:

foo_ba|r_baz    -> civquux -> foo_quux_baz
QU|UX_SPAM      -> civLOTS_OF -> LOTS_OF_SPAM
eggsAn|dCheese  -> civOr -> eggsOrCheese
_privat|e_thing -> civone -> _one_thing

foo_ba|r_baz    -> dav -> foo_baz
QU|UX_SPAM      -> dav -> SPAM
eggsAn|dCheese  -> dav -> eggsCheese
_privat|e_thing -> dav -> _thing

It will also preserve case for small camels when initial segments are deleted (with av):

_g|etJiggyYo   -> dav -> _jiggyYo

Requires vim-textobj-user.