【问题标题】:How to set initial caps in VIM?如何在 VIM 中设置初始上限?
【发布时间】:2010-07-06 16:04:15
【问题描述】:

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

# in visual mode

# change word to uppercase
gUw

# change word to lowercase
guw

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

【问题讨论】:

    标签: vim capitalization


    【解决方案1】:

    假设光标在单词的开头,使用

    gUl
    

    (如果单词全小写)或

    gUllgue
    

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

    和你使用的一样,只是用l(一个符号动作)代替w(文字动作)。

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

          如果你在这个词:

          bgUl
          

          如果你在单词的开头:

          gUl
          

          解包:b 后退一个单词(或回到您所在单词的开头),gU 大写移动,l 向右移动一个字符(这将是词)。

          【讨论】:

            【解决方案5】:

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

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

            【讨论】:

              【解决方案6】:

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

              【讨论】:

                猜你喜欢
                • 2019-09-28
                • 1970-01-01
                • 2021-10-06
                • 2019-07-11
                • 1970-01-01
                • 1970-01-01
                • 2021-10-18
                • 1970-01-01
                • 2022-12-10
                相关资源
                最近更新 更多