How do you convert all text in Vim to lowercase? Is it even possible?
问题:
回答1:
If you really mean small caps, then no, that is not possible – just as it isn’t possible to convert text to bold or italic in any text editor (as opposed to word processor). If you want to convert text to lowercase, create a visual block and press
u
(orU
to convert to uppercase). Tilde (~
) in command mode reverses case of the character under the cursor.If you want to see all text in Vim in small caps, you might want to look at the
guifont
option, or type:set guifont=*
if your Vim flavour supports GUI font chooser.
回答2:
I assume you want lowercase the text. Solution is pretty simple:
ggVGu
Explanation:
- gg - goes to first line of text
- V - turns on Visual selection, in line mode
- G - goes to end of file (at the moment you have whole text selected)
- u - lowercase selected area
回答3:
Similar to mangledorf's solution, but shorter and layman friendly
:%s/.*/\L&/g
回答4:
use this command mode option
ggguG
gg - Goto the first line
g - start to converting from current line
u - Convert into lower case for all characters
G - To end of the file.
回答5:
Many ways to skin a cat... here's the way I just posted about:
:%s/[A-Z]/\L&/g
Likewise for upper case:
:%s/[a-z]/\U&/g
I prefer this way because I am using this construct (:%s/[pattern]/replace/g
) all the time so it's more natural.
回答6:
- Toggle case "HellO" to "hELLo" with g~ then a movement.
- Uppercase "HellO" to "HELLO" with gU then a movement.
- Lowercase "HellO" to "hello" with gu then a movement.
For examples and more info please read this: http://vim.wikia.com/wiki/Switching_case_of_characters
回答7:
If you are running under a flavor of Unix
:0,$!tr "[A-Z]" "[a-z]"
回答8:
Usually Vu (or VU for uppercase) is enough to turn the whole line into lowercase as V already selects the whole line to apply the action against.
Tilda (~) changes the case of the individual letter, resulting in camel case or the similar.
It is really great how Vim has many many different modes to deal with various occasions and how those modes are neatly organized.
For instance, v - the true visual mode, and the related V - visual line, and Ctrl+Q - visual block modes (what allows you to select blocks, a great feature some other advanced editors also offer usually by holding the Alt key and selecting the text).
回答9:
use ggguG
gg : goes to the first line . gu : change to lowercase . G : goes to the last line .
回答10:
I had a similar issue, and I wanted to use ":%s/old/new/g"
, but ended up using two commands:
:0
gu:$