我正在尝试自动化文件评论标头。我坚持不懈地试图弄清楚如何插入 uuidgen 使用VIM的AutoCMD命令进入我的标题。

在标题内,占位符文本如下:

#ifndef _UUID_
#define _UUID_

// Code goes here!

#endif // _UUID_

填充的AutoCMD线 _UUID_ 在.vimrc中是:

autocmd bufnewfile *.h exe "1,$s/_UUID_/" . r!uuidgen ."/g"

问题在R!uuidgen下出现。 如何在AutoCMD行中插入壳牌执行的结果?还是在VI替代命令中?

有帮助吗?

解决方案

使用System(),并且不要忘记将结果弄坏 - > matchstr(system('uuidgen'), "[^\n\r]*")

NB:对于更复杂的模板,您可以使用诸如此类的解决方案 Mu-Template. 。例如,在 c-header.template, ,您必须更改 s:guard 致电matchtr()+system()。

其他提示

出于后代的缘故,我在LUC的建议之后产生的AutoCMD系列是:

autocmd bufnewfile *.h exe "1,$g/_UUID_/s/_UUID_/" . matchstr(system('uuidgen'), "[^\n\r]*")
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top