如何将Vim中的所有文本转换为小写?这可能吗?
当前回答
剥猫皮的方法有很多……这是我刚刚发布的方法:
:%s/[A-Z]/\L&/g
大写字母也是一样:
:%s/[a-z]/\U&/g
我更喜欢这种方式,因为我一直在使用这种结构(:%s/[pattern]/replace/g),所以它更自然。
其他回答
类似于mangledorf的解决方案,但更简短,对外行更友好
: % s / . * \ l / g
使用此命令模式选项
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.
通常Vu(或大写的Vu)足以将整行变成小写,因为V已经选择了对整行应用操作。
Tilda(~)改变了单个字母的大小写,导致驼峰大小写或类似情况。
Vim有很多很多不同的模式来处理各种场合,而且这些模式是如何整齐地组织起来的,这真的很棒。
例如,v -真正的可视模式,和相关的v -可视线,以及Ctrl+Q -可视块模式(允许您选择块,这是其他一些高级编辑器也提供的一个很好的功能,通常通过按住Alt键并选择文本)。
使用ggguG
Gg:到第一行。
Gu:小写。
G:排到最后一行。
我有一个类似的问题,我想使用“:%s/old/new/g”,但最终使用了两个命令:
:0
gu:$
推荐文章
- 强迫自己掌握vi的最好方法是什么?
- 如何回到行之前编辑的最后一个在Vim?
- 如何跳转到一个特定的人物在vim?
- 如何删除一个大的文本块而不计算行?
- 如何在文本文件中替换${}占位符?
- 在Vim/Vi中,如何将光标移动到前一个单词的末尾?
- 如何在vim中自动删除尾随空格
- 为什么Vim使用~扩展名保存文件?
- 如何在Vim或Linux中将空格转换为制表符?
- 我如何使用vimdiff来解决git合并冲突?
- 在Vim中删除当前缓冲区的文件名/路径
- Git在终端提交时打开VIM,但无法返回终端
- 请参阅编辑器中的换行符和回车
- 如何在NERDTree中显示隐藏文件(以句点开始)?
- 如何复制一个选择到OS X剪贴板