neovim と vlime の環境をとりあえず作った。
vlime と slimv
もともと Emacs ように slime の環境があったようだが、それをもとに slimv が出来たらしい。ただ、slimv は Python ベースなので「なんで Python 何や?」と思った人がいるらしくLisp ベースの vlime が出来たらしい。
slimv は vim で動く。vlime は vim あるいは neovim で動く。neovim なら vlime 一択。
vlime install via dein
neovim のプラグインのマネジャーというのがあるらしく、deinを使った。プラグインの管理でプラグインの uninstall をしたいのだが、どうやってやるかは不明だった。なので、そのたびに、全部削除!!という作業をしている(非効率!!)。FAQ にもその方法はなかった。どうやら toml で管理すればいいらしい。そのうちやる。
dein の install
dein 自身の install の方法は歴史的に何度か変わっているらしく詳細は最新の情報を参照したほうが良い。私の取った方法は単純に installer.sh を実行して、1 (~/.cache) と 2 (~/.config/nvim/init.vim) を選択した。
vlime の install
vlime の install は dein を使う。本家の Quickstartに各 plugin でのインストール方法が書いてある。それに従う。
を追加して init.vim の dein の最後のコメントを有効にしてcall dein#install()を有効にするか(そのあと nvim を立ち上げた時にインストールされる)、あるいは手動で同様に:call dein#install()するとインストールされる。
vlime つかう
ここまでできると、あとは vi を立ち上げるだけ。<なんとか>.lisp みたいな lisp ファイルを開くと lisp モードになっているはず。そこで \rrを叩くと vlime が立ち上がる。\を入力した後にぼや〜と待っていると \モードが消えてしまいその後 r を叩くと replace モードになってしまうので注意。
うまく立ち上がればその後 \ssでカーソル位置の評価が出来たり\lでファイルを読み込んだり出来る。
Enjoy common lisp life with vlime!!
vlime たちあがらず
ちゃんと quicklisp を設定していないと vlime は立ち上がらない。立ち上がらないときは単体でチェック。
エラーになるのは quicklisp をインストールしていないからかもしれない
sytanx on
どうも、私の使っている環境ではエスケープシーケンスがみだれるみたいで余計な文字が入ってしまう。普段、そもそも sytanx off なので、現在は sytanx off で使ってます。sytanx on って便利?私にとっては色がつき過ぎで集中できない。
roswell を起動
roswell の記述を書いておくと ros run の延長で立ち上がるよ。
asciinema
前から気になっていた ASCII の録画システム。折角だからインストールする。
asciinema rec ファイル名で録画。asciinema play ファイル名で再生。簡単だ。再生時に -i 0.5とかしておくと間延びしなくて良い。
ついでにサイトに sign up して(メール登録だけ!)、ユーザ名を決めて、そしてasciinema auth。これで rec したのが登録される。なんか簡単。
ユーザ情報を集めようとしていないところが良い。
fukamachi/vlime
インストールしたが単純にはうまく動かなかった。vlime/vlime をごっそり fukamachi/vlime に変えることで動作したが(この方法は良くない)、パッと使った感じ特別にに vlime/vlime との差は見られなかった(インデントの処理が違うらしいが)、ので選り好みしないなら本家の vlime/vlime を使うのが良さそう。
今思えば dein#add の引数に {'rtp': 'vim/'}を追加しておけばよかったのかも。
mondo 再び
neovim のなかの mondo
mondo 自身は単体で使うのは非常に便利。キーワードを補完してくれるし。ただ vlime の延長での mondo は動きが変(設定の問題の可能性はあるが)なので(REPL Buffer に結果が出ない。mondo が立ち上がっている Buffer に結果が出る)、使うのはやめました。
mondo 単体 + neovim で使う
mondo もうすこし使えないか?とおもい、vim の外側で起動。mondo --server vlimeそして \ccでコネクト。ポート番号をちゃんと指定すると、、、なんだ使えるじゃん。この使い方が私が求めていたものだった。
REPL Buffer 抑制
とはいえ、なぜか無駄に REPL Buffer に--が出る。これ抑制できないのかな(調査中だがなさそうよ)。
仕方がないので、ソース読んで修正。
vim/autoload/vlime/plugin.vim を修正。SendToREPLInputComplete の最初の行をコメントアウト(うわぁ〜)
mondo の uitls.lisp のポートを最初に 7002 を試すように修正(うわぁ〜)
こんな強烈な変更をしてしまっていいのかなぁ。後で嵌りそう。