将第一个单词的第一个字母大写

将第一个单词的第一个字母大写

在 ViM 中,如何转换这些文本行:

stringa1 minuscolo
stringa2 minuscolo
stringa33 minuscolo
stringa44 minuscolo

进入这个:

Stringa1 minuscolo
Stringa2 minuscolo
Stringa33 minuscolo

答案1

以下命令将(它是字符串替换正则表达式)第一个字符转换为大写

:%s/^./\u&/g将替换所有行中的第一个字符

:1,4s/^./\u&/g

此命令将替换从 1 到 4 开始的行 ( 1,4) 更改命令中的行范围。

答案2

还值得注意的是该~命令,它切换光标下字符的大小写,以及gU在给定动作中转换为大写的运算符。例子:

gUl将当前字符转换为大写(或者如果已经是大写,则将其保留为大写)

gUe转换为大写直到单词结尾

g~e切换每个字母到单词末尾的大小写。

尝试:help case更多。

答案3

下面是一种替代方法(Linux 为您提供了许多不同的方法来完成同一件事;最终取决于个人选择/偏好。)

sed -rin 's/./\u&/1p' file.txt

另一种选择是下面将每个单词的第一个字母大写

sed -rin 's/([a-zA-Z])([a-zA-Z]*)/\u\1\2/g p' file.txt

相关内容