arthurxavierx / vim-caser

Easily change word casing with motions, text objects or visual mode.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

caser.vim

Easily change word casing with motions, text objects or visual mode.

This plugin is largely inspired by Tim Pope's vim-abolish, and aims to improve its casing functionality to better blend with Vim's editing philosophy.

Table of contents

  1. Installation
  2. Usage

Installation

vim-caser may be installed by any of your favourite plugin managers. Be it Pathogen, Vundle or Plug, use whichever you prefer.

For example, when using with Plug:

Plug 'arthurxavierx/vim-caser'

Usage

vim-caser makes it easy to convert between multiple word casings, from camelCase to snake_case to Title Case, it blends nicely with Vim's editing features such as motions, text objects and visual mode.

All mappings below must be followed by a motion or a text object, or be applied within visual mode.

Case Default Mapping Plug Mapping (normal/visual)
MixedCase or PascalCase gsm or gsp <Plug>CaserMixedCase/<Plug>CaserVMixedCase
camelCase gsc <Plug>CaserCamelCase/<Plug>CaserVCamelCase
snake_case gs_ <Plug>CaserSnakeCase/<Plug>CaserVSnakeCase
UPPER_CASE gsu or gsU <Plug>CaserUpperCase/<Plug>CaserVUpperCase
Title Case gst <Plug>CaserTitleCase/<Plug>CaserVTitleCase
Sentence case gss <Plug>CaserSentenceCase/<Plug>CaserVSentenceCase
space case gs<space> <Plug>CaserSpaceCase/<Plug>CaserVSpaceCase
dash-case or kebab-case gs- or gsk <Plug>CaserKebabCase/<Plug>CaserVKebabCase
Title-Dash-Case or Title-Kebab-Case gsK <Plug>CaserTitleKebabCase/<Plug>CaserVTitleKebabCase
dot.case gs. <Plug>CaserDotCase/<Plug>CaserVDotCase

The gs prefix can be changed through the option g:caser_prefix. Alternatively, the default mappings can be disabled by setting g:caser_no_mappings.

Limitations

Currently vim-caser only supports the casing options displayed in the table above. If you would like to have another casing option in vim-caser, please feel free to create an issue in this repository, or to submit a pull request with the feature properly documented.

Global options

Name Default Description
g:caser_prefix gs The prefix of all mappings created by vim-caser. E.g.: gsc, gs-, gsu, etc.
g:caser_no_mappings not set Set to 1 to disable default mappings. Custom mappings can be set using the <Plug> mappings.

About

Easily change word casing with motions, text objects or visual mode.

License:Other


Languages

Language:Vim Script 100.0%