代码之家  ›  专栏  ›  技术社区  ›  J. Polfer

VIM+C++:在保护条款中插入UUID

  •  6
  • J. Polfer  · 技术社区  · 14 年前

    我正在尝试自动化文件注释头。我一直在尝试如何插入 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下面!紫外线灯。 如何将shell命令执行的结果作为文本插入autoCmd行?或者在一个vi替换命令中?

    2 回复  |  直到 14 年前
        1
  •  5
  •   Luc Hermitte    14 年前

    使用System(),不要忘记选择结果 -gt; matchstr(system('uuidgen'), "[^\n\r]*")

    注意:对于更复杂的模板,您可以使用以下解决方案 mu-template . 例如,在 c-header.template 你必须改变 s:guard 调用matchtr()+system()。

        2
  •  1
  •   J. Polfer    14 年前

    我在Luc的建议后得出的autocmd行是,为了子孙后代:

    autocmd bufnewfile *.h exe "1,$g/_UUID_/s/_UUID_/" . matchstr(system('uuidgen'), "[^\n\r]*")