質問

ファイルコメントヘッダーを自動化しようとしています。私はの結果を挿入する方法を見つけようとしています 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. 。たとえば、in 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