0

我正在使用 vim 的abolish插件将 camelCase 变量更改为 CONSTANT_CASE (UPPER_CASE in abolish lang) 使用cru

我的问题:

我有一个包含 100 个这样的变量的枚举,所以我自然想知道有没有办法在cru代码块上使用命令。

例如

MacAddr0High        = 0x000,  // address0 high Register

MacAddr0Low         = 0x004,  // address0 low Register

MacAddr1High        = 0x008,  // address1 high Register

MacAddr1Low         = 0x00C,  // address1 low Register

MacAddr2High        = 0x010,  // address2 high Register

.

.

我只想更改变量名而不是描述

目前我能想到的就是使用cru然后重复使用.这不是最好的方法的命令。

我查看了一些类似的问题,这些问题建议进入可视模式并使用~ u/U

但我不能cru在视觉模式下使用。也许是因为它是一个插件。

如果有办法,我也可以使用 VsCodeVim。

4

2 回答 2

2

正如评论中所说,您可以使用插件和全局命令并通过以下方式解决它:

:g/MacAddr/norm cru

如果没有插件,搜索和替换可能会有所帮助:

:%s/\v(\L\l+)(\L\l+)(\d+)(\L\l+)/\U\1_\U\2_\3_\U\4/g

递归宏将是要寻找的第三件事。

于 2019-07-26T13:59:31.270 回答
1

(不是直接你的问题,但你可以使用lh 风格:%ConvertNames/^\k\+/SCREAMING_SNAKE_CASE

否则,可能会

:g/^MacA/normal cru

应该按预期工作,因为您希望更改的内容位于行首。否则会稍微复杂一些。

于 2019-07-26T13:59:14.240 回答