我发现自己写了一个从OpenCL错误代码到人类可读字符串的非常简单的转换。 50个左右不同的代码在头文件中定义如下:使用Linux/Vim将头文件或文本文件信息转换为代码
...
#define CL_INVALID_CONTEXT -34
#define CL_INVALID_QUEUE_PROPERTIES -35
#define CL_INVALID_COMMAND_QUEUE -36
#define CL_INVALID_HOST_PTR -37
...
我用专家的复制/粘贴把所有的这些在一个巨大的switch/case:
...
case CL_INVALID_CONTEXT:
return "CL_INVALID_CONTEXT";
case CL_INVALID_QUEUE_PROPERTIES:
return "CL_INVALID_QUEUE_PROPERTIES";
case CL_INVALID_COMMAND_QUEUE:
return "CL_INVALID_COMMAND_QUEUE";
case CL_INVALID_HOST_PTR:
return "CL_INVALID_HOST_PTR";
...
,因为我已经最近开始使用Vim,我认为可能有一种方法可以使用Linux命令工具和Vim以更高效的方式执行此操作。在这里有一个类似的帖子,有人声称已经用Emacs做过。有关如何避免下次浪费15分钟时间完成类似任务的想法?
(我知道oclErrorSting()可能存在,但我们忽略,对于一般性的缘故!)
谢谢,这听起来像我正在寻找! –
@VictorSand您可以在换行符中使用'\ r',而不是''。要仅使用复制粘贴的字符串粘贴,请选择(映射类似于'nnoremap gV“\'[”。getregtype(v:register)[0]。“\']”'会有帮助,它会选择粘贴的字符串if粘贴后你没有做任何编辑动作)并输入上面的命令而不用引导'%'。 –
ZyX