如何在 Vim 中将所有文本转换为小写
如何将 Vim 中的所有文本转换为小写? 有可能吗?
How do you convert all text in Vim to lowercase? Is it even possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何将 Vim 中的所有文本转换为小写? 有可能吗?
How do you convert all text in Vim to lowercase? Is it even possible?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(10)
使用此命令模式选项
use this command mode option
与 mangledorf 的解决方案类似,但更短且外行人友好
:%s/.*/\L&/g
Similar to mangledorf's solution, but shorter and layman friendly
:%s/.*/\L&/g
给猫剥皮的方法有很多...这是我刚刚发布的方法:
同样对于大写:
我更喜欢这种方式,因为我一直使用这个构造(
:%s/[pattern]/replace/g
),所以它更自然。Many ways to skin a cat... here's the way I just posted about:
Likewise for upper case:
I prefer this way because I am using this construct (
:%s/[pattern]/replace/g
) all the time so it's more natural.g~
将大小写“HellO”切换为“hELLo”,然后移动。gU
然后一个动作。gu
进行移动。有关示例和更多信息,请阅读以下内容:
http://vim.wikia.com/wiki/Switching_case_of_characters
g~
then a movement.gU
then a movement.gu
then a movement.For examples and more info please read this:
http://vim.wikia.com/wiki/Switching_case_of_characters
use
ggguG
gg
:转到第一行。gu
:改为小写。G
:转到最后一行。use
ggguG
gg
: goes to the first line.gu
: change to lowercase.G
: goes to the last line.通常 Vu (或 VU 表示大写)足以将整行转换为小写,如 V 已经选择了要应用操作的整行。
Tilda (~) 更改单个字母的大小写,导致驼峰式大小写或类似情况。
Vim 有许多不同的模式来处理不同的场合,并且这些模式是如何整齐地组织的,这真的很棒。
例如,v - 真正的视觉模式,以及相关的 V - 视觉线,以及 Ctrl+Q - 可视化块模式(允许您选择块,这是其他一些高级编辑器通常通过按住 Alt 键并选择文本也提供的一个很棒的功能)。
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).
如果您在 Unix 风格下运行
If you are running under a flavor of Unix
我遇到了类似的问题,我想使用
":%s/old/new/g"
,但最终使用了两个命令:I had a similar issue, and I wanted to use
":%s/old/new/g"
, but ended up using two commands:我假设您想要小写文本。 解决方案非常简单:
说明:
I assume you want lowercase the text. Solution is pretty simple:
Explanation:
如果您的意思确实是小型大写字母,那么不,这是不可能的 - 就像不可能在任何文本编辑器(与文字处理器相对)。 如果要将文本转换为小写,请创建一个可视块并按
u
(或按U
转换为大写)。 命令模式下的波形符 (~
) 会反转光标下字符的大小写。如果你想在 Vim 中以小写字母显示所有文本,你可能需要查看
guifont
选项,或者如果你的 Vim 键入:set guifont=*
flavor 支持 GUI 字体选择器。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.