neocomplcache.vim スニペット補完(現在の日時を補完する)

キーワード補完 Vim プラグインの neocomplcache にスニペット補完機能が追加されていた。

バッククオートを使った eval が使えるようなので、html で <ins>, <del> タグに記述する datetime 属性の ISO8601 形式の日時を補完するスニペットを書いてみた。
以下の行を autoload/neocomplcache/snippets_complete/html.snip に記述すると、html ファイル編集時に補完リストから現在日時を ISO8601 形式で入力できる。
vim の関数 strftime を使うように修正した。

'name' : 'today', 'word' : '`strftime("%FT%T%z")`', 'abbr' : 'datetime iso8601', 'prev_word' : [ '^' ]

あと、プレースホルダ機能のデフォルト値の指定は1行(この1行というのは <\n> で区切られた部分)に1つでないと上手く動かなかった。

プレースホルダ機能のデフォルト値の問題は、neocomplcache Ver.2.34 で修正されたもよう。

コメント

ネオコンの作者です。
早速スニペットを使ってもらえるとは思いませんでした。ありがとうございます。

>あと、プレースホルダ機能のデフォルト値の指定は1行(この1行というのは で区切られた部分)に1つでないと上手く動かなかった。
バグかもしれませんね。検証してみます。

コメント by Shougo | 2009年4月22日 - 12:25

その動作はバグでした。
最新版では修正されています。
https://github.com/Shougo/neocomplcache/tree/1cbd5b1608ee379a435cb1f2826bf0506d1824a2

コメント by Shougo | 2009年4月22日 - 13:54

さっそくの修正ありがとうございます。
どんどん便利になっていくので助かっています。

コメント by iNo | 2009年4月22日 - 15:13
Top