はじめに
前回の記事ではfishのプラグインマネージャについて調べました.
プラグインで便利機能を導入したら,キーバインドの割り当てが必要ですよね!
というわけで,fishで余っているキーを探すべく,ちょっと調べてみたのでまとめました.
まぁ何の機能が割り当てられているのかはfish_config
で見れるのですけど,機能の名称だけだとよくわからなかった&キーの「空き」がすぐにわからないのでコメント付きで表にしました.
Ctrl
系
Ctrl
キーと同時押しするものです.
なお割り当てられている機能には,名前がハイフン-
区切りのものとアンダースコア_
区切りのものの二種類があります.ハイフン区切りのものはキーバインド専用の機能ですが,アンダースコア区切りのものはfunction
で定義されたfishの関数なので,type
コマンドで定義が見れます.
key | function | comment |
---|---|---|
Ctrl + a |
beginning-of-line |
カーソルを行頭へ |
Ctrl + b |
backward-char |
カーソルを一文字前へ |
Ctrl + c |
__fish_cancel_commandline |
ジョブの割り込み(SIGINT) |
Ctrl + d |
delete-or-exit |
一文字削除.コマンドラインが空のときexit |
Ctrl + e |
end-of-line |
カーソルを行末へ |
Ctrl + f |
forward-char |
カーソルを一文字後へ |
Ctrl + g |
アラート(\a)と等価 | |
Ctrl + h |
バックスペース(\b)と等価 | |
Ctrl + i |
タブ(\t)と等価 | |
Ctrl + j |
ラインフィード(\n)と等価 | |
Ctrl + k |
kill-line |
カーソルより後を削除 |
Ctrl + l |
'clear; commandline -f repaint' |
画面のクリア |
Ctrl + m |
キャリッジリターン(\r)と等価 | |
Ctrl + n |
down-or-search |
履歴を未来へ.あるいは履歴探索の開始 |
Ctrl + o |
||
Ctrl + p |
up-or-search |
履歴を過去へ.あるいは履歴探索の開始 |
Ctrl + q |
||
Ctrl + r |
||
Ctrl + s |
||
Ctrl + t |
transpose-chars |
カーソルの前後の文字を入れ替える |
Ctrl + u |
backward-kill-line |
カーソルより前を削除 |
Ctrl + v |
fish_clipboard_paste |
クリップボードからペースト |
Ctrl + w |
backward-kill-path-component |
パスの一要素を削除 |
Ctrl + x |
fish_clipboard_copy |
クリップボードへペースト |
Ctrl + y |
yank |
キルリングから貼り付け |
Ctrl + z |
ジョブの一時停止(SIGTSTPシグナルを送信) |
Meta
系
Macのターミナル.appだと,環境設定から「メタキーとしてOption
キーを使用」にチェックを入れることでOption(Alt)
キーをMeta
キーとして使用できます.
矢印キーや改行キーとの組み合わせは今回調べていません.
key | function | comment |
---|---|---|
Meta + a |
||
Meta + b |
backword-word |
カーソルを現在の単語の先頭に移動 |
Meta + c |
capitalize-word |
カーソル上の文字を大文字に変更.カーソルが文字の上にないとき,次の単語の先頭を大文字に変更. |
Meta + d |
kill-word |
現在の単語のカーソル以降を削除 |
Meta + e |
edit_command_buffer |
エディタを起動してコマンドラインの内容を編集 |
Meta + f |
forward-word |
カーソルを現在の単語の一文字先へ移動 |
Meta + g |
||
Meta + h |
__fish_man_page |
現在の単語についてman の出力を表示 |
Meta + i |
||
Meta + j |
||
Meta + k |
||
Meta + l |
__fish_list_current_token |
パスを入力中のとき,そのディレクトリでls を実行 |
Meta + m |
||
Meta + n |
||
Meta + o |
||
Meta + p |
__fish_paginate |
コマンドライン末尾に' ^ | less'を挿入1 |
Meta + q |
||
Meta + r |
||
Meta + s |
||
Meta + t |
transpose-words |
現在の単語と直前の単語を入れ替える |
Meta + u |
upcase-word |
現在の単語のカーソル以降を大文字に変更 |
Meta + v |
edit_command_buffer |
エディタを起動してコマンドラインの内容を編集 |
Meta + w |
'set tok (commandline -pt); if test $tok[1]; echo; whatis $tok[1]; commandline -f repaint; end' |
現在の単語についてwhatis の出力を表示 |
Meta + x |
||
Meta + y |
yank-pop |
キルリングを過去のものに置き換える |
Meta + z |
おわりに
調べてみると,意外なほどキーが余ってました.
キルリング使うのをやめてクリップボードだけにするとか,Ctrl + t
とかの使い所のなさ気なキーを振り直すとかすれば,かなり空きがあります.
カスタマイズのしがいがありますね!
-
PAGER
をless
以外に設定している場合はそのページャが使用される ↩