我正在尝试自动化文件注释标题。我一直在尝试弄清楚如何使用 vim 的 autocmd 将 uuidgen
命令的结果插入到我的 header 中。
在页眉中,存在占位符文本,如下所示:
#ifndef _UUID_
#define _UUID_
// Code goes here!
#endif // _UUID_
在 .vimrc 中填充 _UUID_
的自动命令行是:
autocmd bufnewfile *.h exe "1,$s/_UUID_/" . r!uuidgen ."/g"
问题出在 r!uuidgen 下。 如何将 shell 命令执行的结果作为文本插入到 autocmd 行中?或者在 vi 替换命令中?
最佳答案
使用 system(),不要忘记 chomp 结果
-> matchstr(system('uuidgen'), "[^\n\r]*")
注意:对于更复杂的模板,您可以使用类似 mu-template 的解决方案.例如,在 c-header.template 中,您必须将 s:guard
的值更改为对 matchtr()+system() 的调用。
关于c++ - vim + C++ : insert a uuid in a guard clause,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2774436/