How to convert all text to lowercase in Vim

2019-03-07 20:34发布

How do you convert all text in Vim to lowercase? Is it even possible?

10条回答
老娘就宠你
2楼-- · 2019-03-07 20:54

use ggguG

gg : goes to the first line . gu : change to lowercase . G : goes to the last line .

查看更多
男人必须洒脱
3楼-- · 2019-03-07 20:56
  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 (or U to convert to uppercase). Tilde (~) in command mode reverses case of the character under the cursor.

  2. 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.

查看更多
爷的心禁止访问
4楼-- · 2019-03-07 20:56

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).

查看更多
爷的心禁止访问
5楼-- · 2019-03-07 20:59

Similar to mangledorf's solution, but shorter and layman friendly

:%s/.*/\L&/g

查看更多
仙女界的扛把子
6楼-- · 2019-03-07 21:02

I had a similar issue, and I wanted to use ":%s/old/new/g", but ended up using two commands:

:0
gu:$
查看更多
小情绪 Triste *
7楼-- · 2019-03-07 21:07

If you are running under a flavor of Unix

:0,$!tr "[A-Z]" "[a-z]"
查看更多
登录 后发表回答