Vim:如何制作我刚刚输入大写的文字?

时间:2010-03-18 10:32:01

标签: vim uppercase

使用案例:我刚进入插入模式,并输入了一些文字。现在我想把它变成大写。

可以通过 g U motion来完成。但是,我找不到最近输入会话中输入的文本的动作。这有点奇怪,这种动作的概念是错误的(例如,如果你删除了文本,移动到哪里?),但它可以解决我的问题。

或者,是否还有其他方法可以将您最近输入的文字大写?

5 个答案:

答案 0 :(得分:33)

您正在寻找的动议是:

`[

(反击,开放式方括号)。要做一个简单的动作,你可以使用:

gU`[

然而,你会发现由于动作的方式,我可能不会包括最后一个字符(我可能是错的)。那么一个简单的解决方案就是:

v`[U

也就是说“进入可视模式,从当前位置选择到最后一个更改文本的开头,将其设为大写”。有关更多信息,请参阅:

:help '[
:help mark-motions

请注意反引号与单引号之间的:help mark-motions差异。

答案 1 :(得分:8)

  

在小写字母中键入小写字母   VIM。

     

然后按Esc键。

     

然后将光标移动到开始位置   打字的字符。

     

然后按〜键。

     

它会将小写字母替换为   大写。

     

如果输入是大写,它会   替换小写。

答案 2 :(得分:7)

你也可以使用“内部词”动作和gU

因此,在输入单词后按<Esc>并输入gUiw也应该无需切换到可视模式。

答案 3 :(得分:5)

我只是在视觉模式中选择文本并使用〜来更改大小写,使用U大写或使用u来小写所选文本。

编辑:请参阅以下评论。

答案 4 :(得分:0)

Sublime Text Vintage Mode

对于那些在Sublime Text中使用Vintage模式的人。

大写: g U

小写: g u

交换案例: g

More info here.