LoginSignup
43
37

More than 5 years have passed since last update.

fishのキーバインド一覧

Posted at

はじめに

前回の記事では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とかの使い所のなさ気なキーを振り直すとかすれば,かなり空きがあります.

カスタマイズのしがいがありますね!


  1. PAGERless以外に設定している場合はそのページャが使用される 

43
37
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
43
37