いけがみを召喚するには、出現予定を参考にしてください。三週間前までにメールをくだされば、日程を追加するなどしてスケジュールに組み込むことができるかもしれません。勉強会や個人的な会合、中途採用面接などに応じます。日記に書かないことはこちら。
周りに vim を使う人が多い。私も vi を使うことがあるが、それは itojun 氏の nvi-m17n を昔使っていたからである。当時(という言葉を使いたくないが)、日本語を読み書きすることのできる高機能エディタは nvi か nemacs しか無かったのである(あ、Unix の話ね。MS-DOSや国産OSのほうが当時は日本語処理がまともだった)。どちらも痛し痒しで、状況に応じて両方を使い分けるしかなかったのだ。WWW なんてなかった頃の話である。
で、今はといえば、もう断然 Emacs である。 anything.el なる便利な仕掛けができてしまったので、私はついこの間、とうとう Emacs21 から Emacs22 に乗り換えた。.emacs を移し変えるにあたって、Emacs Lisp とひたすら戯れたのは言うまでもないことである。人生の中でもっとも楽しいのは .emacs いじりではなかろうか。非生産的だし。W4W (Work for Work).
しかし、 Emacs が洗練されているのなら、vi-clone も洗練されてきているのではないだろうか。食わず嫌いはよくないよな、と思って Vim 7 系列にも手を出してみた。昔取った杵柄で、手がキーバインドを覚えているので普通に使えるのだが、肝心の機能がない。 flymake がない。 flyspell もない。
そこで、vimscript で flymake を作った。vimscript を触るのは初めてだったが、一日で一応満足するものが作れた。 flyspell も同じようにできるのかもしれないが、vim の syntax highlight がかっちりしすぎて融通が効かない。 Emacs みたいにいい加減でいいのに。
Vim global plugin for on-the-fly syntax checker Maintainer: Daisuke IkegamiCopyright 2008 Daisuke IKEGAMI Free distribution, use, and modification permitted under BSD3 DESCRIPTION: Performs on-the-fly syntax checks of the files being edited using the external syntax check tool (usually the compiler). Highlights erroneous lines and displays associated error and warning messages. This plugin is a port of 'flymake-mode' for Emacs. INSTALL: 1. put flymake.vim into your plugin directory (~/.vim/plugin) 2. put some file-type plugins into yours (~/.vim/ftplugin) I've never written a vim plugin and this is the first project. Please hack it and distribute freely under the BSD3 license. HINT: To use flymake.vim (the first version), you have two hooks: 1. autocmd BufWritePost * :call FlyMake(arg1, arg2, arg3) 2. autocmd BufWinLeave * :call FlyMakeCloseWindows() Here, the FlyMake function takes 3 arguments: arg1 : the external command to check syntax; which consists of the format of printf. arg1 must have two '%s': one is for a temporary directory another is for a program file (without path name) arg2 : a pattern match for error message. arg2 must have two groupings: one is a line number for where is error occurred another is a message for error message arg3 : a pattern match for warning message, like arg2. See examples in the ftplugin directory for hacking.
ファイルは固めて flymake-vim-plugin.0.0.1.tar.gz として置いておく。開発は、darcs repository でやってるので、patch 作ったら送ってくれてもいい。でも、たぶん、もう触らないと思う。勝手に fork してください。修正 BSD ライセンスです。
darcs repository: http://dora.koka-in.org/~ikegami/repos/flymake-plugin/ Get the latest (nightly build): % darcs get --partial http://dora.koka-in.org/~ikegami/repos/flymake-plugin/
サンプルとして、 C と Ruby の flymake ができるようになってる。C のほうは、Makefile 書いて、 check-syntax: ターゲットを作ってくれればいい。そこらへんは、Emacs の flymake と同じです。
結論:Emacs の方がずっと楽しい。食わず嫌いじゃなくて、やっぱり好みの問題だった。ただ、これで親から Emacs を取り上げられても vim で生きていけるだけのサバイバル能力は付いたのではなかろうか。
なお、作成に当たって、他のウィンドウにコマンドを送りつける - ボクノスさんのコードが非常に役に立った。これがなかったら、エラーメッセージをどう表示したらいいか途方に暮れるところだった。ありがとう。





皆様、ご指摘感謝致します。
Vi v.s. Emacs の戦いは Usenet の頃からの不毛な争いであるので、これ以上参加したくはありません。どちらも使えたらいいんじゃないのかな。
僕が、なんで VimScript に手を出したかといえば、興味半分、あとはこないだ「作りたいソフトウエアもないのに言語をやたらに勉強してもしょうがないだろ」と言った手前です。「しょうがない」を「ダメ」ととらえる人はネガティブですね〜。なんか暗い過去でもあったのでしょうか。忘れた方がいいと思います。
チナミニ Flymake in GNU Emacs22 (YouTube) こんな風に動きます。
RSS feed を再開しました。RSS の思想を尊重するために全文配信はしません、あしからず。