読者です 読者をやめる 読者になる 読者になる

その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

VimでもJavaScriptのfunctionを寿にしたい

http://hitode909.hatenablog.com/entry/2013/10/26/132041
ここで書かれているように,JavaScriptをいじっている時にfunctionが寿になると嬉しい.
(最初は寿じゃなくてλだった気もしますが,この際それは脇に避けます)

2014-01-15 17:50 追記

結論から言って,
http://labs.timedia.co.jp/2011/04/javascript-function-lambda-vim.html
を見ると良いです.コメントで教えてくださったid:thincaさんありがとうございます!
[追記ここまで]

2014-01-16 0:35 追記

いちいちsyntax/javascript.vimに書くのだるいし,複数マシンで共有するのも面倒だったので,
NeoBundle等でさくっとインストール出来るようにリポジトリ立てました.
https://github.com/moznion/jskotobuki-vim

:Kotobuki:NoKotobukiといったコマンドもサポートしています.
(:Kotobukiするとfunctionが寿になって,:NoKotobukiすると寿になりません)

また,g:jskotobukiCharacterに任意の文字を代入すると「寿」以外の文字で置換されるようにしました.
[追記ここまで]


!!! という訳で以下に書かれている内容は本当に良くないので参考にしないで下さい !!!


Emacsだとid:hitode909さんの記事に書かれているようなEmacs LISPを書くと動くわけですが,
Vimだとどうやれば良いのかよくわからなかったのでざっくり適当に書きました.


gist8431877


この実装,「寿」を1文字削除しようとすると理想的には“functio”になるべきなのに全部消え去ってしまったり,
JSのキーワードではない文字列の「寿」も置換されてしまったりと,諸般の問題を抱えていてあまり良くない感じがします.

というか,そもそも見た目だけを変えたいのにファイルごと書き換えていてマズい.
Vimが途中で不慮の事故で落ちると,JSのファイルは寿のままになってしまって具合が悪い.

発想が乱暴だし実装も乱暴だし,実装者も乱暴なので,乱暴そのものと化してしまっていて厳しい.


もっと良いやり方があるはず.教えてください!!!!!!