Vim/NeovimでLisp処理系と対話するためのプラグイン Vlime
導入
リポジトリはこちら github.com
設定
デフォルトでは'\'(バックスラッシュ)キーをプレフィクスとするコマンドを使う。 自分はカンマに設定している。
let g:vlime_leader = ',' " sbclとcclはプラグイン内(vim/autoload/vlime/server.vim)で対応している " 他の実装はドキュメントを見て少々特別な設定をする必要がある let g:vlime_cl_impl = 'ccl'
Vlimeのリポジトリに含まれるstart-vlime.lispを手動でLisp処理系にロードしてから使うプラグインである。そのためシェルのエイリアスを設定しておくとよい。
よく使うコマンド
太字は特によく使う。
,rr Lisp実装を起動してSLIMEサーバを開始し、接続する。オムニ補完はSLIMEサーバと繋がっているときに有効。
,cc 手動で起動したSLIMEサーバに接続する。
- REPLへ送信(,s)
- コンパイル(,o)
- 定義の削除
- \uf 関数を削除する。
- \us シンボルを削除する。
- \ui 対話的に削除する。
- マクロ展開
- \mm MACROEXPANDしてプレビューバッファに出す。
- \m1 MACROEXPAND-1してプレビューバッファに出す。
- \ma 全ての入れ子のマクロを展開する。
- REPLバッファ
- CTRL-C REPLスレッドを止める
- \I カーソル下の評価結果をインスペクタで見る。
- \y 無名バッファに評価結果をヤンクする。
- \C REPLバッファをクリアする。
- CTRL-n 表示されている次のオブジェクトに移動?
- CTRL-p 表示されている前のオブジェクトに移動?
- デバッガバッファ
- d カーソルの下のフレームについて、ローカル変数やソースファイル位置などの詳細を表示する。
- S カーソル下のフレームに関係するコードへジャンプする。
- T カーソル下のフレームに関係するコードへ新しいタブでジャンプする。
- a ABORTする。
- c CONTINUEする。
- e カーソルの下のフレーム内で式を評価する。
- 誤りを修正できる?
- E カーソルの下のフレーム内で式を評価してREPLへ送信する。
- C コンディションオブジェクトをインスペクタで見る。
- r カーソル下のフレームを再起動する。
- s カーソル下のフレームでステップ実行を始める。
- x ステップオーバー。
- o ステップアウト。
- D 逆アセンブル。
- インスペクタ
- 型やオブジェクトのスロットなどを表示してくれるようだ
- \IT トップレベルにある中でカーソルの下にあるものをインスペクタで見る
- \II カーソルの下の式またはアトムを評価してインスペクタで見る
- \IE カーソルの下の式を評価してインスペクタで見る
- \IA カーソルの下のアトムを評価してインスペクタで見る
- \I ビジュアルモードで選択中の領域を評価してインスペクタで見る
- インスペクタバッファ
- Space フィールドやボタンを押す
- CTRL-n 次のフィールドやボタンへ
- CTRL-p 前のフィールドやボタンへ
- s カーソルの下のフィールドの値をREPLに送信する。
- S インスペクタで見ている値をREPLに送信する。
- p インスペクタで 一つ前に見ていたオブジェクトに移動する。
- P インスペクタで 一つ次に見るオブジェクトに移動する。
- R インスペクタバッファを更新する。
- インプットバッファではiで書いてEscで抜けてEnterキーで確定
- パッケージ
- \p 現在のバッファで使うパッケージを指定する
- クロスリファレンス