WSLで始めるUbuntu
[IT研修]注目キーワード
Python
UiPath(RPA)
最新技術動向
Microsoft Azure
Docker
Kubernetes
第16回 キーバインドできる機能について知ろう(2)
(宮崎悟)
2020年2月
前回はキーバインド出来るReadlineのコマンドについて説明しました。今回は、その続きとして履歴操作コマンドについて説明します。
コマンドの機能
前回と同様ですが、コマンドの機能について説明します。説明時には以下のルールに則ります。
- コマンド名(デフォルトのキーバインド) の形式で説明します
- コマンド名のみのときは、デフォルトでキーバインドされていません
- ポイント
現在のカーソル位置
- マーク
set-markコマンドで保存された位置
- リージョン
ポイントとマーク間のテキスト
履歴操作コマンド
保存された履歴を操作するコマンドです。
- accept-line (Newline, Return)
カーソルの位置に関わらず、入力された行を確定・実行します。この行が空でない場合、実行した行は変数 HISTCONTROL の状態に従い履歴に追加されます。
履歴に存在した行を変更して実行した場合も、変更した行が履歴に追加されます。このとき履歴リスト内の変更前の行には影響ありません。
- previous-history (C-p)
履歴を戻り、現在行より前の行を取り出します。
- next-history (C-n)
履歴を進み、現在行より次の行を取り出します。
- beginning-of-history (M-<)
履歴の最初の行に移動します。
- end-of-history (M->)
入力履歴の最後に移動します。つまり、現在入力中の行に移動します。
- reverse-search-history (C-r)
現在行を開始点にして古い方に向かって検索を行い、 必要に応じて履歴を遡ります。これはインクリメンタル検索(入力の度に履歴行を表示する検索)です。
- forward-search-history (C-s)
現在行を開始点にして新しい方に向かって検索を行い、 必要に応じて履歴を下ります。これはインクリメンタル検索です。
- non-incremental-reverse-search-history (M-p)
現在行を開始点にして、履歴リストを古い方に向かって検索を行います。
ユーザが入力した文字列を非インクリメンタルモード(検索文字列全体を入力・実行すると検索される)で検索します。
- non-incremental-forward-search-history (M-n)
現在の行を開始点にして、履歴リストを新しい方に向かって検索を行います。 ユーザが入力した文字列を非インクリメンタルモードで検索します。
- history-search-forward
履歴を古い方に向かって検索し、 現在の行の先頭とポイントの間の文字列を探します。 これは非インクリメンタル検索です。
- history-search-backward
履歴を後方に向かって検索し、 現在の行の先頭およびポイントの間の文字列を探します。 これは非インクリメンタル検索です。
- yank-nth-arg (M-C-y)
前のコマンドに対する最初の引き数 (前の行の 2 番目の単語) をポイントに挿入します。引き数nが付いていると、前のコマンドの n 番目の単語 (前のコマンドの単語は 0 から数えます)が挿入されます。引き数が負の場合、前のコマンドの最後から n 番目の単語が挿入されます。
- yank-last-arg (M-./M-_)
前のコマンドの最後の引き数(一つ前の履歴の最後の単語)を挿入します。引き数があると、yank-nth-arg と全く同じように動作します。 yank-last-arg を繰り返して呼び出すと履歴を遡って参照が行われ、それぞれの行の最後の引き数が順番に挿入されます。 繰り返して呼び出すときの引き数は、履歴の中を動く方向を決めます。負の引き数は、履歴の中を動く方向 (後方または前方) を反転します。
- shell-expand-line (M-C-e)
実行時にbashが行うのと同様に行の展開を行います。 aliasや履歴の展開を含め、bashが行う全ての単語展開が行われます。
- history-expand-line (M-^)
現在の行で履歴の展開を行います。
- magic-space
現在の行で履歴の展開を行い、空白を挿入します。
- alias-expand-line
現在の行でaliasの展開を行います。
- history-and-alias-expand-line
現在の行で履歴とaliasの展開を行います。
- insert-last-argument (M-., M-_)
yank-last-arg と同じものです。
- operate-and-get-next (C-o)
現在の行を実行し、 履歴内にある現在行のあと時に実行された行を編集用に取得します。 引き数は全て無視されます。
- edit-and-execute-command (C-xC-e)
エディタを起動して現在のコマンドラインの内容を開き、 その結果をシェルのコマンドとして実行します。 bashはエディタとして 変数 $VISUAL, $EDITOR, emacs の順で起動を試みます。
以下次回
今回は、履歴操作コマンドについて説明しました。上記説明中で、履歴・aliasの展開とキーワードが出てきます。これらについては改めて説明させていただきます。次回は、補完コマンドについて説明します。次回をお楽しみに。
CTC教育サービス 関連コース
[IT研修]注目キーワード
Python
UiPath(RPA)
最新技術動向
Microsoft Azure
Docker
Kubernetes
「WSLで始めるUbuntu」コラム一覧へ
コラム一覧へ