Vim Tips Wiki

Capitalize words and regions easily

Redirected from VimTip899

1,624pages on
this wiki
Add New Page
Talk0 Share
Tip 899 Printable Monobook Previous Next

created 2005 · complexity basic · author Soeren Sonntag · version 6.0

All of you should know the gu{motion} and gU{motion} commands used to convert a region to lower/upper case. Unfortunately, there is no possibility to capitalize a region. Until now this tip.

Similar to the gu/gU commands, here are some mappings for "gc" (c as in capitalize).

To capitalize the word "example" place the cursor over the word and type gciw (similar to guiw).

Before: this is an example.
After:  this is an Example.

To capitalize the whole line place the cursor somewhere on the line and either type gcgc or gcc (similar to gugu/guu).

Before: this is an Example.
After:  This is an example.

I defined some common mappings. Please feel free to add your own.

gcw        - capitalize word (from cursor position to end of word)
gcW        - capitalize WORD (from cursor position to end of WORD)
gciw       - capitalize inner word (from start to end)
gciW       - capitalize inner WORD (from start to end)
gcis       - capitalize inner sentence
gc$        - capitalize until end of line (from cursor postition)
gcgc       - capitalize whole line (from start to end)
gcc        - capitalize whole line
{Visual}gc - capitalize highlighted text

Put the following lines into your vimrc file.

if (&tildeop)
  nmap gcw guw~l
  nmap gcW guW~l
  nmap gciw guiw~l
  nmap gciW guiW~l
  nmap gcis guis~l
  nmap gc$ gu$~l
  nmap gcgc guu~l
  nmap gcc guu~l
  vmap gc gu~l
  nmap gcw guw~h
  nmap gcW guW~h
  nmap gciw guiw~h
  nmap gciW guiW~h
  nmap gcis guis~h
  nmap gc$ gu$~h
  nmap gcgc guu~h
  nmap gcc guu~h
  vmap gc gu~h


Of course, there's the cream-capitalize script script#242.

I would appreciate a mapping to capitalize a word in insert mode, after having typed half a word without having to change modes.

exampl<~>e  to Example<cursor_insert_mode>

:imap <F8> <Esc>g~iwea

This command toggles the case of every character of a word in insert mode. Replace "~" with "U" for uppercase or "u" for lowercase change.

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random Wiki