5

在 VIM 中,将文本中的单词更改为使用大写或小写非常容易:

# in visual mode

# change word to uppercase
gUw

# change word to lowercase
guw

有没有一种简单的方法来修改单词以使用首字母大写?

4

6 回答 6

5

假设光标位于单词的开头,请使用

gUl

(如果单词全小写)或

gUllgue

明确地使第一个字母大写和其他小写。

它与您使用的相同,只是您使用(一个符号运动)而不是w(单词运动)。l

如果光标位于单词中间的某个位置,则将b(转到单词的开头)添加到上面的命令中。

如果您经常使用它,您可以映射一些键来执行此操作。

于 2010-07-06T16:13:09.177 回答
3

我建议使用您想要的任何动作命令移动到单词的开头,然后按~。此行为受tildeop选项影响,请参阅:help ~:help tildeop了解更多信息。

于 2010-07-06T16:25:01.357 回答
2

根据您的用例,以下任何一种方法都可能有效。

  1. 用于~切换光标下字母的大小写。
  2. 用于:s/\<\(\w\)\(\w*\)\>/\u\1\L\2/搜索单词,首字母大写,其余字母小写。
  3. guiwgUl将光标所在的单词小写,然后将第一个字母大写。
于 2010-07-06T16:16:54.810 回答
1

如果你在这个词:

bgUl

如果你在单词的开头:

gUl

拆包:b返回一个单词(或您所在单词的开头),gU向上移动,l向右移动一个字符(这将是单词中的第一个字母)。

于 2010-07-06T16:13:09.023 回答
0

旁注:我有一个插件(虽然这不是它的主要目的),它能够在驼峰式、下划线分隔的单词等之间转换名称。将光标移动到标识符上,然后键入:NameConvert lower_camel_case例如(该命令支持完成(<tab>, <c-d>) 显示所有可能的命名方案)

要安装它,您需要lh-devlh-vim-lib

于 2010-07-06T17:09:36.460 回答
0

有一个函数 toupper 可以用来进行转换。即使是替代品,您也可以使用它。就像查找所有句子的开头,并将第一个字符转换为大写,如下所述:搜索和替换

于 2010-07-07T14:07:21.220 回答