スパム対策として書込み時にID/PWを要求されますが、ローマ字で ほげ/ホゲ で書き込めるようになります。

code-snippet : コード・スニペット (ソースコード等の慣用断片) の入力支援

概要

簡潔なコード・スニペット入力支援を実現します。コード・スニペットとは、ソースコードやマークアップ文書の中でよく用いられるコード断片のことです。同様の機能を実現するプラグインとして、snippetsEmuなどがあります。

スニペットを登録するためには、たとえば、以下のExコマンドを入力します。

:StringAbbrLocal fputs() "fputs([~str~], [~fp:stderr~])[~~]"

ついで挿入モードで、以下のようにトリガを入力します。

fputs()

ここで<S-CR>を押すと、

fputs([~str~], [~fp:stderr~])[~~]

以上のように展開され、 "[~str~]" がヴィジュアルモードで選択されます。このように "[~" と "~]" で囲まれた部分がプレースホルダです。<S-CR>を押すごとに、次のプレースホルダが選択されます。<C-CR>を押すと、ひとつ前のプレースホルダに飛びます。

<CR>を押すと、カーソルの下にあるプレースホルダが削除されて挿入モードに入り、項目を記入できるようになります。

二つめのプレースホルダ、 "[~fp:stderr~]" の上で<CR>を押すと、初期値として "stderr" が挿入されます。他の単語を挿入するには、<C-U>を押して削除します(cf. :help i_Ctrl-U)。

最後の空のプレースホルダ "[~~]"は、<S-CR>で選択されるのではなく、単に削除されて挿入モードに入ります。

スニペットは単に短縮入力(cf. :help abbreviations)として登録されています。トリガ文字列に "fputs()" と、余分な "()" がついている理由は、 "fputs(line, ..." とそのまま入力しようとした時に、短縮入力として展開されてしまうことを防ぐためです。

実際には、ファイル形式別プラグインを作成して、その中でファイル形式ごとにスニペットを登録する使い方が主になると思います。

少し複雑なスニペットの例

StringAbbrLocal switch() "switch([~var~]) {\n"
        \ . "default:\n"
        \ .     "[~statement~]\n"
        \ .     "break;\<C-D>\n"
        \ . "}"
StringAbbrLocal case: "case [~num~]:\n"
        \ .     "[~statement~]\n"
        \ .     "break;\<C-D>"

この例では、インデントを調整するために、文字列中に<C-D>コマンドを埋め込んでいます。

インストール

パッケージを "~\vimfiles\" あるいは "~/.vim/" に展開し、ヘルプファイルを登録するために ":helptags ~\vimfiles\doc\" あるいは ":helptags ~/.vim/doc/" を実行します。

たいていの場合、ファイル形式別プラグインとインデントを有効にするために、以下の設定をした方がいいはずです。

filetype plugin indent on




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-10-14 (火) 01:13:17 (1406d)