在Vim中,有一个命令可以改变所选文本的大小写吗?
选择文本后,按下U可转换为大写字母,按下u可转换为小写字母。要在选定的文本中交换所有的大小写,按下~(波浪号)。
若不使用可视化选择,gU<motion>
将使得 motion
中的字符转为大写,或者使用gu<motion>
来转换为小写。
想了解更多,请参考Vim的change.txt帮助文件中的第3节。
g~<motion>
也可以起作用。可能需要补充一下,我通常只使用 ~
。 - trysisgUiw
将单词转换为大写。谢谢! - lucidbrotgUw
而不是 iw
,则只会从光标位置更改到单词结尾,且没有 i
表示内部。 - jens.klose请参考以下方法:
~ : Changes the case of current character
guu : Change current line from upper to lower.
gUU : Change current LINE from lower to upper.
guw : Change to end of current WORD from upper to lower.
guaw : Change all of current WORD to lower.
gUw : Change to end of current WORD from lower to upper.
gUaw : Change all of current WORD to upper.
g~~ : Invert case to entire line
g~w : Invert case to current WORD
guG : Change to lowercase until the end of document.
gU) : Change until end of sentence to upper case
gu} : Change to end of paragraph to lower case
gU5j : Change 5 lines below to upper case
gu3k : Change 3 lines above to lower case
guw
会将当前位置到单词结尾的字母大小写翻转。而guaw
或guiw
则会将整个单词的大小写翻转。 - Victor Schröder:h operator
和:h motion
操作符可以是:c change
d delete
gu make lowercase
gU make uppercase
...
这些动作大多数都很常见:
0 first character of the line
$ end of line
aw a word
iw inner word
...
所以你只需要记住一些运算符和动作(有很多但你会有一些喜欢的)。
这样你就可以得到上面@ungalnanban的列表。