はじめに
sbtは立ち上げっぱが前提となっているcliですよね。1
そうすると困るのはなんでしょう。
そうです、キーバインドですね。
普段のshellではせっかくvimなどのキーバインドを使用していても、sbtになると突然バインドは失われます。
衰退です。
そんなお困りのscala民のためにsbtでもvimキーバインドを使用できるように設定しましょう。
設定方法
簡単です。$HOME/.inputrc
に以下を追記しましょう。
set editing-mode vi
これで平和が訪れます。
.inputrc
とは
そもそも.inputrc
とは何でしょう。
実態はlinuxの設定ファイルです。
具体的にはreadlineという行操作を支援するライブラリの設定を行うための設定ファイルです。
bashを始めとする各CUIはこのライブラリを利用して行操作を実現しています。
ここから察するにおそらくsbtもreadlineを利用しているのでしょう。
まとめ
sbtを使うイライラもこれで解消。
参考
https://stackoverflow.com/questions/53458458/using-vim-in-scala-sbt-console-scala-repl
http://x68000.q-e-d.net/~68user/unix/pickup?%7E%2F%2Einputrc
http://x68000.q-e-d.net/~68user/unix/pickup?readline
scala界の象徴こと水島さんのブログを参考(http://kmizu.hatenablog.com/entry/2017/05/06/160822) ↩