4月 12, 2017

シェルアシスト機能

ありそうでなかった、キータイプ数削減機能

 シェルアシスト機能は、コマンド入力候補を動的に表示し、選択するとその場で補完してくれる機能です。


 選択はファンクションキーで行います。


 さらに、MacBookではTouchBarを使うことができます!

 シェル操作では、だいたい「さっきやったのと同じ単語」を使うことが多いですから、これはキータイプ数削減に大きく貢献します。

動作原理

 SSHでログインするとバックグラウンドにもう一つの接続を張り、historyコマンドの結果を取得することでコマンド候補を自動構築します。その後バックグラウンド接続は切断され、ユーザの入力によってコマンド候補が更新されていきます。
 そのため、以下の制約があります。

– SSHでの認証方式でKeyboard-Interactiveを使っている場合は、バックグラウンドでのhistory取得ができないためシェルアシスト機能は動作しません。
– プロンプトと入力コマンドを見て補完候補を決めているため、プロンプトの末尾の文字が $, #, >, % のいずれかでなければいけません。
– Unix系で使われる主要なシェルにはおおむね対応していますが、シェルの設定が特殊だったり、ルータなどの環境では動作しないケースがあります。

 なお、シェルアシスト機能が動作しない場合でも、通常のシェル操作を妨げることはありません。

フィードバックをお待ちしています

 この機能は意欲的なものなので、まだ改善の余地はあると考えています。うまく動作しない事例の報告や、改善の提案、単純な「気に入った/気に入らない」のご意見、などなんでも歓迎ですのでご遠慮なく意見をお寄せください。