反省はしても後悔はしない

Vim とか備忘録とか。それと関数型言語勉強中

Vim で絶対に OCaml を打ち間違わないための設定

というようなことがあったので。

今までは

abbreviate Ocaml OCaml

と設定することで対処していました。(:help type-mistakes)
しかし、OCamlSpotter のように続いた単語の場合は短縮入力では対応出来ません。

そこで、入力支援系プラグインである smartinput を使って以下のようにします。

call smartinput#map_to_trigger('c', 'l', 'l', 'l')
call smartinput#map_to_trigger('i', 'l', 'l', 'l')

call smartinput#define_rule({'at': 'Ocam\%#', 'char': 'l', 'input': '<BS><BS><BS>Caml', 'mode': 'i:/?'})

smartinput はもともとマッピングを利用して開き括弧 '(' を入力すると自動的に閉じ括弧 ')' を入力するためのものですが、これを応用して l を入力した時にカーソルの前方が Ocam だった場合に cam をバックスペースで消した後自動 Caml を入力するように設定出来ます。

これで怖い人から刺される心配がなくなりますね。