c++ - vim + C++ : insert a uuid in a guard clause

标签 c++ vim autocmd guard-clause

我正在尝试自动化文件注释标题。我一直在尝试弄清楚如何使用 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/

相关文章:

c++ - 无法在 STL 中打印一组 vector 的元素

c++ - 使用 CMake 查找使用 CLang 编译的 Boost

ruby - 如何在 VIM 中导航 Ruby 方法?

vim - 防止 Vim 预览窗口移动主窗口

vim - 如何在 vimrc 中设置 autocmd 以仅使用特定文件类型运行?

c++ - 在unique_ptr <>中使用自定义删除器(curl_formfree())

c++ - 是否有使用可能/不太可能提示的性能测试结果?

image - vim 图像放置

vim 在 tmux 上通过 ssh 滚动缓慢

vim - 如何在Vim中保存文件后自动执行shell命令?