ホーム  |  製品 & サービス   |  サポート & ダウンロード  |  開発者向け情報  |  お問い合わせ
人生に地図はない
lisp の編集に vim を使う

昔 * Lisp with vim という - Larry Clapp 氏の記事 があった。それに感銘を受けたのも含めてメモ程度の情報

vim で lisp プログラムを編集するなら

 set nocindent 
set lisp
set showmatch

としておけばよい。通常は vim -l で lisp モードで立ち上がる。

vim のコマンドで便利なのは

  • % : 対応する括弧に飛ぶ
  • - : 現在の行のインデントを整形する。
  • = : (カーソル動作)

より広い領域のインデントを整形可能。例えば =% ではカーソル上の括弧と対応する括弧までを整形してくれる。このとき lisp モードであることが重要。 C のモードだと test-mode が test - mode と整形されてしまうので注意が必要。

vim の lisp モードでは - を含む関数名まで適切に補完してくれる。残念ながら scheme のスタイルの保管はしてくれない。set! は set までしか保管してくれない。scheme モードも是非欲しいところだ。(vim のソースを見ると mzscheme 用のコードらしきものがあった。コンパイル時に mzscheme を指定すればいいのかもしれない)

参考

vim に Embeddable Common Lisp (ECL) を組み込んでいる人がいます。

ltags を使う

lisp 用のタグを吐き出す。

ここからダウンロード可能。

ltags.shr を展開し、適当にパスを設定し(ltags.sh を編集する、あるいは ~/bin におく)実行。 ltags.sh *.lisp > tags とする。あとは ^] で移動できるぞ。

vim を lisp のフロントエンドに

これをつかうと CMU lisp に vim で編集した lisp を送ることが出来るらしい。perl をつかうらしい。

http://vim.sourceforge.net/scripts/script.php?script_id=221またもや larry Clapp 氏