如何在VIM中设置初始上限?

时间:2010-07-06 16:04:15

标签: vim capitalization

在VIM中,将文字更改为大写或小写非常容易:

# in visual mode

# change word to uppercase
gUw

# change word to lowercase
guw

是否有一种简单的方法可以修改单词以使用初始上限?

6 个答案:

答案 0 :(得分:4)

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

gUl

(如果单词全部为小写)或

gUllgue

明确地制作首字母大写和其他小写。

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

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

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

答案 1 :(得分:3)

我建议用你想要的任何动作命令移动到单词的开头,然后按。此行为受tildeop选项的影响,有关详细信息,请参阅:help ~:help tildeop

答案 2 :(得分:2)

根据您的用例,以下任何一种情况都可以使用。

  1. 使用~切换光标下字母的大小写。
  2. 使用:s/\<\(\w\)\(\w*\)\>/\u\1\L\2/搜索单词,大写第一个字母,小写搜索其余字母。
  3. guiwgUl小写光标所在的单词,然后大写第一个字母。

答案 3 :(得分:1)

如果你的话:

bgUl

如果你在这个词的开头:

gUl

解压缩:b返回一个单词(或者单词的开头),gU向上移动,l向右移动一个字符(这将是是这个词的第一个字母。)

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

您可以使用功能toupper进行转换。即使是替代,你也可以使用它。就像查找所有句子的开头一样,并将第一个字符转换为大写字母,如下所述:search and replace