Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/julian/vim-textobj-variable-segment
A text object to turn foo_bar_baz into foo_baz *and* quuxSpamEggs into quuxEggs *and* shine your shoes
https://github.com/julian/vim-textobj-variable-segment
neovim neovim-plugin text-object vim vim-plugin vim-textobj-user vim-textobject
Last synced: about 12 hours ago
JSON representation
A text object to turn foo_bar_baz into foo_baz *and* quuxSpamEggs into quuxEggs *and* shine your shoes
- Host: GitHub
- URL: https://github.com/julian/vim-textobj-variable-segment
- Owner: Julian
- License: mit
- Created: 2013-08-16T23:31:21.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2024-09-06T19:10:26.000Z (5 months ago)
- Last Synced: 2025-01-25T13:05:40.428Z (8 days ago)
- Topics: neovim, neovim-plugin, text-object, vim, vim-plugin, vim-textobj-user, vim-textobject
- Language: Vim Script
- Homepage:
- Size: 30.3 KB
- Stars: 159
- Watchers: 5
- Forks: 14
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# 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_thingfoo_ba|r_baz -> dav -> foo_baz
QU|UX_SPAM -> dav -> SPAM
eggsAn|dCheese -> dav -> eggsCheese
_privat|e_thing -> dav -> _thingIt will also preserve case for small camels when initial segments are deleted
(with `av`):_g|etJiggyYo -> dav -> _jiggyYo
Requires [vim-textobj-user](https://github.com/kana/vim-textobj-user).