673

Is there a command in Vim that changes the case of the selected text?

2

3 Answers 3

892

Visually select the text, then U for uppercase or u for lowercase. To swap all casing in a visual selection, press ~ (tilde).

Without using a visual selection, gU<motion> will make the characters in motion uppercase, or use gu<motion> for lowercase.

For more of these, see section 3 in Vim's change.txt help file.

Sign up to request clarification or add additional context in comments.

5 Comments

In experimenting, it looks like g~<motion> works, too. May want to add that, I tend to use ~ exclusively.
Which means that we can use gUiw to turn a word into uppercase. Thanks!
Or gUw does it.
@Ilias Karim, not exactly the same! Without the i (for inner) you only change from the cursor position to the end of the word, if you use gUw.
Holy ████, it works on greek unicode characters! Γγ (I'm using neovim.)
593

See the following methods:

~ : Changes the case of current character guu : Change current line from upper to lower. gUU : Change current LINE from lower to upper. guw : Change to end of current WORD from upper to lower. guaw : Change all of current WORD to lower. gUw : Change to end of current WORD from lower to upper. gUaw : Change all of current WORD to upper. g~~ : Invert case to entire line g~w : Invert case to current WORD guG : Change to lowercase until the end of document. gU) : Change until end of sentence to upper case gu} : Change to end of paragraph to lower case gU5j : Change 5 lines below to upper case gu3k : Change 3 lines above to lower case 

4 Comments

In this case, the aw and iw commands would do the same thing since whitespace doesn't have a case. I believe we can save a keystroke and go with the w versions of the command. Is there any reason to use aw here?
guw changes the case from the current position until the end of the word. guaw or guiw changes the case of the whole word.
Nice! Just to add that for multiple words, first type the number. For example, change to upper case word at cursor and two subsequent words, 3gUw
This is ridiculously useful. I am tempted to print it ant stick it on the wall next to my bed.
7

Additionally, although all is said and its not for visual selection:

There are operators:
Usage: operator motion See :h operator and :h motion

Operators can be

c change d delete gu make lowercase gU make uppercase ... 

The motions are mostly well known:

0 first character of the line $ end of line aw a word iw inner word ... 

So you have to remember just a few operators and the motions (there are much but you will have some favorites).

In this way you get the list of @ungalnanban above.


Found on Vim cheatsheet - devhints.io

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.