【发布时间】:2017-07-01 10:58:46
【问题描述】:
我需要找到一种方法来执行/找到一个 vim 脚本,该脚本将根据模式更改变量名!
这是一个可以帮助您的答案 How to quickly change variable names in Vim?
它会检查哪个类型是变量并添加一个特定的前缀
例如:
char myvar 到 char char_myvar
char *myvar 到 char pointer_char_myvar
或者如果变量是函数的参数
f(char myvar) 到 f(char param_char_myvar)
这些类型的标记将由模式匹配定义
这个想法似乎是用gd 去定义变量,将它保存在寄存器中,然后在另一个寄存器中输入之前的四个单词(因为在char *myvar,* 像一个单词一样计数,我们需要足够的信息来知道它是否在函数中),检查哪种模式匹配(检查哪种类型,检查是否在函数中或本地),然后添加标记。
另外如何将此脚本应用于所有变量?
但我失败了。
我该怎么做?
【问题讨论】:
-
如果你真的想做这些傻事,别忘了把函数也重命名:
char char_myFunc(char char_myChar);,别忘了structs:struct x struct_x_myFunc (struct x struct_x_myStruct);和unions和@987654335 @(现在它变得非常愚蠢......) -
哦对了,函数也是这样重命名的
char function_char_myFunc(char char_myChar); -
@tofro 你被巨魔取消了。
-
struct 也一样,谢谢考虑:D。它很愚蠢,但它是必需的。
-
有问题的代码有多大?它是否遵循某种严格的编码风格,声明都采用相同的形式?它是否有一些棘手的类型声明,比如函数返回函数?
标签: c vim refactoring