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

P S*_*ved 25 vim uppercase

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

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

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

DrA*_*rAl 33

你正在寻找的动议是:

`[
Run Code Online (Sandbox Code Playgroud)

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

gU`[
Run Code Online (Sandbox Code Playgroud)

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

v`[U
Run Code Online (Sandbox Code Playgroud)

也就是说"进入可视模式,从当前位置选择到最后一次更改文本的开头,使其成为大写".有关更多信息,请参阅:

:help '[
:help mark-motions
Run Code Online (Sandbox Code Playgroud)

注意:help mark-motions反引号和单引号之间的区别.


mur*_*uga 8

在vim中键入小写的单词.

然后按Esc键.

然后将光标移动到键入单词的起始字符.

然后按〜键.

它将小写字母替换为大写字母.

如果输入为大写,则将替换小写.


dvv*_*vrt 7

您还可以将"内部单词"运动与gU一起使用

因此,在键入单词后,按下<Esc>并键入也gUiw应该工作,而不必切换到可视模式.


Was*_*eem 5

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

编辑:见下面的评论.