【发布时间】:2010-07-06 16:04:15
【问题描述】:
在 VIM 中,将文本中的单词更改为大写或小写非常容易:
# in visual mode
# change word to uppercase
gUw
# change word to lowercase
guw
有没有简单的方法来修改单词以使用首字母大写?
【问题讨论】:
标签: vim capitalization
在 VIM 中,将文本中的单词更改为大写或小写非常容易:
# in visual mode
# change word to uppercase
gUw
# change word to lowercase
guw
有没有简单的方法来修改单词以使用首字母大写?
【问题讨论】:
标签: vim capitalization
假设光标在单词的开头,使用
gUl
(如果单词全小写)或
gUllgue
明确地使首字母大写和其他小写。
和你使用的一样,只是用l(一个符号动作)代替w(文字动作)。
如果光标位于单词的中间某处,则将b(转到单词的开头)添加到上面的命令中。
如果您经常使用它,您可以映射一些键来执行此操作。
【讨论】:
我建议使用您想要的任何动作命令移动到单词的开头,然后按 ~。此行为受tildeop 选项的影响,请参阅:help ~ 和:help tildeop 了解更多信息。
【讨论】:
根据您的用例,以下任何一种方法都可能有效。
~ 切换光标下字母的大小写。:s/\<\(\w\)\(\w*\)\>/\u\1\L\2/ 搜索单词,首字母大写,其余小写。guiwgUl 将光标所在的单词小写,然后将第一个字母大写。【讨论】:
如果你在这个词:
bgUl
如果你在单词的开头:
gUl
解包:b 后退一个单词(或回到您所在单词的开头),gU 大写移动,l 向右移动一个字符(这将是词)。
【讨论】:
旁注:
我有一个plugin(虽然这不是它的主要目的),它能够在驼峰式、下划线分隔的单词等之间转换名称。将光标移动到标识符上,然后键入:NameConvert lower_camel_case 例如(该命令支持完成(<tab>,<c-d>)显示所有可能的命名方案)
要安装它,您需要 lh-dev 和 lh-vim-lib。
【讨论】:
有一个函数 toupper 可以用来进行转换。即使是替代品,您也可以使用它。就像找到所有句子的开头,并将第一个字符转换为大写,如下所述:search and replace
【讨论】: