これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MAC OSオンラインエミュレーターなどの複数の無料オンラインワークステーションのいずれかを使用して、OnWorks無料ホスティングプロバイダーで実行できるコマンドzshzleです。
プログラム:
NAME
zshzle - zsh コマンドライン エディター
DESCRIPTION
Status ひどく オプションが設定されており(対話型シェルではデフォルトで設定されています)、シェル
入力が端末に接続されている場合、ユーザーはコマンドラインを編集できます。
表示モードは2つあります。最初のマルチラインモードはデフォルトです。
TERM パラメータは、カーソルを上に移動できる有効な端末タイプに設定されています。
2番目のシングルラインモードは、 TERM カーソルを上に移動できない、または無効である、
または SINGLE_LINE_ZLE オプションが設定されています。このモードは kshの、termcapは使用しません
シーケンス。 TERM 「emacs」は、 ひどく オプションはデフォルトでは設定されません。
パラメータ ボー, COLUMNS, LINES ラインエディタでも使用されます。 技術パラメータ
中古 By 当学校区の シェル(Shell) in zshparamとします。
パラメータ zle_ハイライト ラインエディタでも使用されます。 人格 ハイライト表示
特殊文字とカーソルとマークの間の領域の強調表示
(と設定したように) マーク設定コマンド Emacsモードで、または ビジュアルモード Viモードでは、
デフォルト。詳細についてはこのリファレンスを参照してください。怒りっぽい保守派は
次の設定により、すべてのハイライト表示が無効になる可能性があることに注意してください。
zle_highlight=(なし)
多くの場所で言及されているのは、 数値の 引数デフォルトでは
Altキーを押しながら数字を入力するか、Escキーを押してEmacsモードに入る
各数字の前に数字を入力し、vi コマンド モードではコマンドを入力する前に数字を入力します。
通常、数値引数は、入力された次のコマンドを繰り返し実行します。
以下に特に記載がない限り、指定された回数だけ有効です。 Arguments サブセクション
ウィジェット 数値引数を変更する他の方法については、
ここで言及されているデフォルトのバインディングは 数字引数 ウィジェット。
キーマップ
ZLEのキーマップには、キーシーケンスとZLEコマンドのバインディングのセットが含まれています。
空のキーシーケンスはバインドできません。
キーマップはいつでもいくつでも存在でき、各キーマップには1つ以上の名前があります。
キーマップの名前がすべて削除されると、キーマップは消えます。 バインドキー 操作するために使用できる
キーマップ名。
最初は 8 つのキーマップがあります。
エマックス EMACSエミュレーション
ブドウ vi エミュレーション - 挿入モード
vicmd vi エミュレーション - コマンド モード
ヴィオプ vi エミュレーション - オペレータ保留
ビジュアル vi エミュレーション - 選択がアクティブ
私は検索します
インクリメンタル検索モード
command
コマンド名を読む
。安全な フォールバックキーマップ
`。安全な' キーマップは特別です。変更することはできず、名前も変更できません。
削除されました。ただし、他の名前にリンクされている場合は削除できます。将来的には
他の特別なキーマップが追加されることがあります。ユーザーは`で始まる名前の使用を避ける必要があります。.' にとって
独自のキーマップ。
これらの名前に加えて、`エマックス'または `ブドウ' は ` という名前にもリンクされていますメイン'.
のいずれか ビジュアル or 環境変数EDITOR 環境変数には文字列`vi' とき
シェルが起動すると`ブドウ'、それ以外の場合は`エマックス'. バインドキー's -e
-v オプションを使用すると、このデフォルトの選択を上書きする便利な方法が提供されます。
エディタが起動すると、`メイン' キーマップ。そのキーマップが
存在する場合は、`。安全な' その代わり。
`で。安全な' キーマップでは、各キーは 自己挿入ただし、^J (改行) を除く
^M(リターン)は 受け入れラインこれは意図的に使い心地がよくないものです。
これを使用している場合は、メインキーマップを削除したことを意味するので、元に戻す必要があります。
リーディング コマンド
ZLEが端末からコマンドを読み込んでいるとき、それはバインドされたシーケンスを読み取ることがあります。
何らかのコマンドであり、より長いバインドされた文字列のプレフィックスでもある。この場合、ZLEは
一定時間待って、さらに文字が入力されたかどうかを確認し、入力されなかった場合は(またはどの文字にも一致しない場合は)、
文字列が長すぎる場合、バインディングを実行します。このタイムアウトは、 キータイムアウト
パラメータ; デフォルトは0.4秒。プレフィックス文字列がそれ自身でない場合はタイムアウトはありません。
コマンドにバインドされます。
キータイムアウトは、ZLEがマルチバイト文字からバイトを読み取っているときにも適用されます。
適切なモードのときに文字列を返します。(これにはシェルがコンパイルされている必要があります
マルチバイトモードが有効になっている場合、通常はロケールにUTF-8の文字も含まれる。
オペレーティングシステムで認識されるすべてのマルチバイトエンコードがサポートされていますが、
2番目以降のバイトがタイムアウト期間内に読み込まれない場合、シェルは次のように動作します。
if ? 入力された文字が認識され、入力状態がリセットされます。
ZLEコマンドと同様に、キーシーケンスを他の文字列にバインドすることもできます。`バインドキー
-sこのようなシーケンスが読み込まれると、置換文字列が入力としてプッシュバックされ、
コマンド読み取りプロセスは、これらの偽のキー入力を使用して再び開始されます。この入力は
それ自体はさらに置換文字列を呼び出すが、ループを検出するためにプロセスは
実際のコマンドが読み取られずにこのような置換が 20 回発生した場合は停止されます。
ユーザーが入力したキーシーケンスは、ユーザー定義のコマンド名に変換できます。
ウィジェット 読み取りコマンド ウィジェットについては、
以下の「標準ウィジェット」セクションを参照してください。
コミュニティ キーマップ
通常の編集では単一のキーマップが排他的に使用されますが、多くのモードではローカルキーマップが使用されます。
いくつかのキーをカスタマイズできます。たとえば、インクリメンタル検索モードでは、
でのバインディング 私は検索します キーマップは、 メイン キーマップですが、すべてのキー
上書きされていない場合は引き続き使用できます。
キーシーケンスがローカルキーマップで定義されている場合、グローバルキーマップのキーシーケンスは非表示になります。
キーマップは、そのシーケンスのプレフィックスです。この例は、 iw
in ヴィオプ これは、 i in vicmdしかし、地球規模のより長いシーケンス
同じプレフィックスを共有するキーマップは引き続き適用できるため、たとえば ^Xa in
グローバルキーマップは、 ^Xb ローカルキーマップ内。
ひどく ビルティン
ZLEモジュールには3つの関連する組み込みコマンドが含まれています。 バインドキー コマンドは操作する
キーマップとキーバインディング 変化した コマンドはシェルパラメータの値に基づいて ZLE を呼び出します。
と ズレ コマンドは編集ウィジェットを操作し、ZLEへのコマンドラインアクセスを可能にします
シェル関数内からのコマンド。
バインドキー [ オプション ] -l [ -L ] [ キーマップ ...]
バインドキー [ オプション ] -d
バインドキー [ オプション ] -D キーマップ ...
バインドキー [ オプション ] -A 古いキーマップ 新しいキーマップ
バインドキー [ オプション ] -N 新しいキーマップ [ 古いキーマップ ]
バインドキー [ オプション ] -m
バインドキー [ オプション ] -r 文字列内 ...
バインドキー [ オプション ] -s 文字列内 アウトストリング ...
バインドキー [ オプション ] 文字列内 command ...
バインドキー [ オプション ] [ 文字列内 ]
バインドキーのオプションは3つのカテゴリーに分けられます:
現在のコマンド、操作の選択など。キーマップ選択オプション
には次の値があります:
-e キーマップを選択 `エマックス' 現在のコマンドによる操作に対して、また
リンク `エマックス' から 'メイン' 次回からデフォルトで選択されるように
エディターが起動します。
-v キーマップを選択 `ブドウ' 現在のコマンドによる操作に対して、また
リンク `ブドウ' から 'メイン' 次回からデフォルトで選択されるように
エディターが起動します。
-a キーマップを選択 `vicmd現在のコマンドによるすべての操作に対して ' を実行します。
-M キーマップ
当学校区の キーマップ 任意の操作に選択されるキーマップ名を指定します
現在のコマンド。
キーマップの選択が必要で、上記のオプションがいずれも使用されていない場合は、
`メイン' キーマップが使用されます。一部の操作ではキーマップを選択できません。
つまり:
-l 既存のキーマップ名をすべてリストします。引数が指定されている場合は、それらのみをリストします。
キーマップ。
Status -L オプションも使用され、リストの形式は次のようになります。 バインドキー にコマンド
キーマップを作成またはリンクします。`バインドキー -lL メイン' どのキーマップがリンクされているかを表示します
に `メイン'、もしあれば、そして標準のemacsまたはviエミュレーションが
効果は表示されません。このオプションでは 。安全な キーマップは
そのように作成されたが、どちらも「バインドキー -lL 。安全な' として報告
エラーの場合は、何も出力されません。
-d 既存のキーマップをすべて削除し、デフォルトの状態にリセットします。
-D キーマップ ...
名前を削除 キーマップs.
-A 古いキーマップ 新しいキーマップ
作る 新しいキーマップ 別名をつける 古いキーマップ、両方の名前は
同じキーマップに名前が付けられます。名前は同等の地位にあり、どちらかが削除されると、
もう1つは残ります。 新しいキーマップ 名、
削除されます。
-N 新しいキーマップ [ 古いキーマップ ]
新しいキーマップを作成し、 新しいキーマップキーマップにすでにその名前がある場合は、
削除されます。 古いキーマップ 名前が指定されると、新しいキーマップは
複製されるように初期化されます。そうでない場合、新しいキーマップは空になります。
新しく作成したキーマップを使用するには、 メイン. したがって、
新しいキーマップを作成して使用するコマンド `マイマップ' から初期化されます エマックス キーマップ
(変更なし) は次のとおりです。
バインドキー -N マイマップ エマックス
バインドキー -A マイマップ メイン
` は、バインドキー -A 新しいマップ メイン' は、 新しいマップ is エマックス or ブドウ,
それは機能しません vicmdvi挿入モードからコマンドモードへの切り替えは
不可能。
以下の操作は`メイン' キーマップ選択オプションが指定されていない場合はキーマップ
与えられた:
-m 選択したキーマップに組み込みのメタキーバインディングのセットを追加します。キーのみ
拘束されていないか拘束されている 自己挿入 影響を受けます。
-r 文字列内 ...
指定されたバインドを解除する 文字列内選択したキーマップのsです。これはまさに
文字列をバインドするのと同等 未定義のキー.
日時 -R も使用され、解釈する 文字列内範囲としてs。
日時 -p も使用され、 文字列内sはプレフィックスを指定します。
与えられた 文字列内 接頭辞として、 文字列内
それ自体は削除されます。たとえば、
バインドキー -rpM ブドウ '^['
vi-insertキーマップのエスケープで始まるすべてのバインディングを削除します
文字(おそらくカーソルキー)をエスケープキーに割り当てたままにする
キャラクター自体(おそらく vi-cmd-モード)。これは、
オプション -R.
-s 文字列内 アウトストリング ...
それぞれをバインドする 文字列内 それぞれに アウトストリング。 時 文字列内 と入力すると、 アウトストリング
押し戻され、ラインエディタへの入力として扱われます。 -R is
また、解釈するためにも使用される 文字列内範囲としてs。
両方に注意してください 文字列内 アウトストリング 同じ形式の
解釈については、以下に説明します。
文字列内 command ...
それぞれをバインドする 文字列内 それぞれに command。 時 -R が使用されている場合は、
文字列内範囲としてs。
[ 文字列内 ]
キーバインディングを一覧表示します。 文字列内 が指定されると、その文字列のバインディング
選択したキーマップ内のキーバインディングが表示されます。それ以外の場合は、
選択されたキーマップが表示されます。(特別なケースとして、 -e or -v オプション
単独で使用される場合、キーマップは 表示される - キーマップの暗黙的なリンク
起こるのはそれだけです。
オプションの場合 -p が使用されている場合、 文字列内 存在する必要があります。リスト
指定されたキーシーケンスをプレフィックスとして持つすべてのバインディングを表示します。
キーシーケンス自体のバインディングも含まれます。
時 -L オプションが使用される場合、リストは次の形式になります バインドキー にコマンド
キーバインディングを作成します。
時 -R オプションが上記のように使用される場合、有効な範囲は2つの
文字(オプションで`-' の間にあるすべての文字
指定された範囲は、指定されたとおりにバインドされます。
どちらにしても 文字列内 or アウトストリング、次のエスケープ シーケンスが認識されます。
\a ベル文字
\b バックスペース
\e, \E 脱出
\f フォームフィード
\n 改行(改行)
\r キャリッジリターン
\t 水平タブ
\v 垂直タブ
\NNN XNUMX進数の文字コード
\xNN XNUMX進数の文字コード
\uNNNN XNUMX 進数の Unicode 文字コード
\Uんんんんんん
XNUMX 進数の Unicode 文字コード
\M[-]X メタビットが設定された文字
\C[-]X 制御文字
^X 制御文字
それ以外の場合は、「\' は後続の文字をエスケープします。Delete は次のように記述されます。
`^?'。 ` に注意してください\M^?'と `^\M?'は同じではないし、(emacsとは異なり)
バインディング `\ M-X'と `\eX' は完全に異なるが、初期化されている
`による同じバインディングバインドキー -m'.
変化した [ -アーチェ ] [ -p プロンプト ] [ -r プロンプト ]
[ -M メインキーマップ ] [ -m vicmd キーマップ ]
[ -i 初期化ウィジェット ] [ -f 終了ウィジェット ]
[ -t TTY ] 名
パラメータの値 名 編集バッファにロードされ、行エディタ
が呼び出されます。エディターが終了すると、 名 によって返される文字列値に設定されます
編集者。 -c フラグが指定されている場合、パラメータがまだ作成されていない場合は作成される。
存在。 The -a フラグは次のように付与される。 -c 配列パラメータを作成するか、 -A
連想配列を作成するためのフラグ。既存のパラメータの型が
作成するタイプと一致する場合、パラメータは設定解除され、再作成されます。
配列または配列スライスを編集する場合、 $IFS
バックスラッシュで引用符で囲まれて表示されます。バックスラッシュ自体も同様です。逆に、
編集されたテキストが配列に分割されると、バックスラッシュはすぐに引用符で囲まれます。
区切り文字またはバックスラッシュの後続文字。その他の特別な処理はありません。
バックスラッシュや引用符の処理が実行されます。
既存の配列または連想配列パラメータの個々の要素を編集できます
下付き文字構文を使用して 名新しい要素は自動的に作成され、
無し -c.
Status -p フラグが指定されている場合、次の文字列がプロンプトとして扱われます。
左側に表示されます。 -r フラグが指定されている場合、次の文字列は
右側にプロンプトを表示します。 -h フラグが指定されている場合、履歴は
ZLEからアクセスします。 -e フラグが与えられ、入力すると ^D (Control-D)空行
原因 変化した ゼロ以外の戻り値で直ちに終了します。
当学校区の -M オプションはキーマップにリンクする メイン 編集中のキーマップ、および -m
オプションはキーマップにリンクする vicmd 編集中のキーマップ。viスタイルの場合
編集時に、キーマップのペアを上書きすることができます ブドウ vicmd。 のために
emacsスタイルの編集のみ -M 通常は必要ですが、 -m オプションはまだ
使用されました。終了時に、以前のキーマップが復元されます。
ヴァレド いつもの`を呼び出すzle-line-init'と `zle-line-finish' フックの前後
それは制御します。 -i -f オプションは、これらを
その他のカスタムウィジェット。
`の場合-t TTY』と与えられると、 TTY 代わりに使用される端末デバイスの名前です
デフォルト / dev / tty。 場合 TTY 端末を参照していない場合はエラーが報告されます。
ズレ
ズレ -l [ -L | -a ] [ string ...]
ズレ -D ウィジェット ...
ズレ -A 古いウィジェット 新しいウィジェット
ズレ -N ウィジェット [ function ]
ズレ -C ウィジェット 補完ウィジェット function
ズレ -R [ -c ] [ 表示文字列 ] [ string ...]
ズレ -M string
ズレ -U string
ズレ -K キーマップ
ズレ -F [ -L | -w ] [ fd [ ハンドラ ]]
ズレ -I
ズレ -T [ tc function | -r tc | -L ]
ズレ ウィジェット [ -n NUM ] [ -Nw ] [ -K キーマップ ] 引数 ...
当学校区の ズレ 組み込み関数は、ZLE に関するさまざまなアクションを実行します。
オプションも引数もない場合は、戻り値のみが設定されます。ゼロです。
ZLEが現在アクティブで、この組み込みコマンドを使用してウィジェットを呼び出すことができる場合
それ以外の場合は0以外の値を返します。0以外の値が返された場合でも、zleは
補完システムの一部としてアクティブのままです。直接の呼び出しは許可されません。
ZLEウィジェットへ。
それ以外の場合、実行される操作はオプションによって異なります。
-l [ -L | -a ] [ string ]
既存のユーザー定義ウィジェットをすべて一覧表示します。 -L オプションが使用されている場合は、
の形 ズレ ウィジェットを作成するためのコマンド。
と組み合わせると -a オプションを選択すると、すべてのウィジェット名がリストされます。
組み込みのもの。この場合、 -L オプションは無視されます。
少なくとも1つ string が与えられ、そして -a 存在するか -L 使用されていません、
何も印刷されません。すべての場合、戻り値は0になります。 stringsです
既存のウィジェットの名前と、少なくとも1つの場合は0以外の値 string 名前ではない
定義されたウィジェットの場合 -a も存在する場合、すべてのウィジェット名が
組み込みウィジェットを含む比較、そうでない場合はユーザー定義ウィジェットのみ
中古。
少なくとも1つ string が存在し、 -L オプションが使用され、ユーザー定義
一致するウィジェット string の形式で記載されています ズレ 作成するコマンド
ウィジェット。
-D ウィジェット ...
名前を削除 ウィジェットs.
-A 古いウィジェット 新しいウィジェット
作る 新しいウィジェット 別名をつける 古いウィジェット、両方の名前は
同じウィジェットに。名前は同等の地位にあり、どちらかが削除されると、
もう1つは残ります。 新しいウィジェット 名、
削除されます。
-N ウィジェット [ function ]
ユーザー定義ウィジェットを作成します。
指定された名前でウィジェットが呼び出されると、上書きされます。
エディタ内では、指定されたシェル function 関数が呼び出されない場合
名前が指定されている場合は、デフォルトでウィジェットと同じ名前になります。詳細については
詳細については、以下の「ウィジェット」セクションを参照してください。
-C ウィジェット 補完ウィジェット function
ユーザー定義の補完ウィジェットを作成します。 ウィジェット補完ウィジェット
組み込みの補完ウィジェットのように動作します。
補完ウィジェット補完を生成するために、シェル関数 function
が呼び出されます。詳細については、 zshcompwidとします。
-R [ -c ] [ 表示文字列 ] [ string ...]
コマンドラインを再表示します。これはユーザー定義の
ウィジェットを変更して表示できるようにします。 表示文字列 が与えられ、
空でない場合、これはステータス行に表示されます(行のすぐ下)
編集中)。
オプションの stringsが与えられている場合は、プロンプトの下にリストされます
補完リストが印刷されるのと同じ方法で印刷されます。 stringは与えられているが、 -c
オプションを使用すると、リストはクリアされます。
このオプションは終了しないウィジェットにのみ有効です。
使用直後は表示されている文字列が消去されるため
ウィジェットから戻った直後。
このコマンドは、ユーザー定義ウィジェットの外部から安全に呼び出すことができます。zleが
アクティブの場合はディスプレイが更新され、zleがアクティブでない場合は
コマンドは効果がありません。この場合、通常、他に
引数
zle がアクティブな場合、ステータスは 0 になります。それ以外の場合は 1 になります。
-M string
-R オプション、 string コマンドラインの下に表示されます。
とは異なり -R オプションを指定すると、文字列はステータス行には表示されませんが、
代わりにプロンプトの下に通常通り表示されます。これは、
string ウィジェットが戻った後も表示されます(
後続のコマンドによって上書きされます)。
-U string
これにより、 string ZLEの入力スタックに
現在実行中のウィジェットが終了すると、ZLEは文字が
会場は string ユーザーによって入力されました。
ZLEはスタックを使用するため、このオプションを繰り返し使用すると最後の文字列
スタックにプッシュされた文字が最初に処理されます。ただし、
各 string 表示される順に処理されます。
文字列。
-K キーマップ
キーマップを選択します キーマップエラーメッセージが表示される場合は、
そのようなキーマップはありません。
このキーマップの選択は、次のキーストロークの解釈に影響します。
このZLE呼び出し内では、後続の呼び出し(例えば次の
コマンドライン)は通常通り`メイン' キーマップが選択されました。
-F [ -L | -w ] [ fd [ ハンドラ ]]
システムが「poll」または「select」システムのいずれかをサポートしている場合にのみ使用可能です。
呼び出します。ほとんどの最新システムはそうします。
インストール数 ハンドラ (シェル関数の名前) ファイルからの入力を処理する
ディスクリプタ fd. ハンドラーのインストール fd すでに処理されている
既存のハンドラを置き換えます。任意の数のハンドラを任意の数だけ
読み取り可能なファイル記述子の数がインストールされる場合があります。zleは
これを確認する試みはなかった fd インストール時に実際に読み取ることができる
ハンドラ。ユーザーはファイルの取り扱いについて独自の手配をする必要があります。
zle がアクティブでないときの記述子。
zleがデータを読み取ろうとするとき、端末と
処理されたリスト fd's。データが処理済みで利用可能になった場合 fd、ズレ
呼び出し ハンドラ 最初の引数として読み取り準備が整った fd を指定します。
通常の状況ではこれが唯一の引数ですが、エラーが発生した場合は
検出された場合、2番目の引数で詳細が提供されます: `ハプ' 切断の場合、`いいえ'
閉じた記述子または無効な記述子の場合、または`誤る' その他の
条件。`select'システムコールのみをサポートするシステムでは、常に
`誤る'.
オプションの場合 -w も与えられており、 ハンドラ 代わりに行エディタウィジェットです。
通常は`を使用してウィジェットに作成されたシェル関数ズレ -N'。その場合
ハンドラ zleのすべての機能を使用して現在の編集を更新できます
ライン。ただし、取り扱いには注意が必要です fd 低レベルの変化で起こる
ディスプレイに自動的には表示されないので、ウィジェットは`を呼び出す必要がありますズレ
-R' で強制的に再表示します。この記事の執筆時点では、ウィジェットハンドラは
単一の引数なのでエラー状態の文字列は渡されないので
ウィジェットは記述子自体をテストできるように準備する必要があります。
どちらのタイプのハンドラも端末に出力を生成する場合は、
`ズレ -I' を実行する前に(下記参照)。ハンドラは、
ターミナルから。
ない場合 ハンドラ 与えられているが、 fd 存在する場合、そのハンドラ fd is
削除されました。何もない場合はエラーメッセージが出力され、ステータス1が
戻ってきた。
引数が指定されていない場合、または -L オプションが指定されている場合は、ハンドラのリスト
後で実行するために保存できる形式で印刷されます。
An fd (ただし、 ハンドラ)は、オプションで -L オプション;
この場合、関数はハンドラがあればそれをリストし、なければ何もせずに返す。
ステータス1。
この機能は注意して使用してください。
fd'sを適切に処理しないと、端末が
使用できません。 fd シグナルトラップ内のハンドラは、
予測できない動作。
この機能の簡単な使用例を示します。リモートへの接続
TCPポートはztcpコマンドを使用して作成されます。
zsh / net / tcp のモジュール zshモジュール(1)次にハンドラーがインストールされ、
この接続で到着したデータを単に印刷するだけです。
`select'は、リモートの場合にファイル記述子の処理が必要であることを示します。
側が接続を閉じた場合、読み取り失敗をテストすることでこれを処理します。
if ztcp パソコン 2811。 その後
tcpfd=$返信
ハンドラ() {
ズレ -I
ローカル ライン
if ! read -r ライン <&$1; その後
# select マーク この fd if we リーチ EOF、
# so ハンドル この 特に。
印刷 "[読む on fd $1 失敗した、 削除します。 >&2
ズレ -F $1
return 1
fi
印刷 -r - $ line
}
ズレ -F $tcpfd ハンドラ
fi
-I このオプションは、通常のウィジェット機能以外で最も役立ちます。
ただし、端末への通常の出力が必要な場合は、内部で使用することもできます。
出力の準備として現在のzle表示を無効にします。通常、
これはトラップ関数からのものです。zle がアクティブでない場合は効果がありません。
トラップが終了すると、シェルは表示を復元する必要があるかどうかを確認します。
したがって、以下は、
編集中の行:
トラパス1() {
# 無効化 ズレ ディスプレイ
[[ -o ズレ ]] && ズレ -I
# 表示 出力
印刷 Hello
}
一般的に、トラップ関数は、zleがアクティブであるかどうかをテストする必要があるかもしれません。
この方法を使用すると(例に示すように)、 zsh / zle モジュールは可能性があります
ロードされていない場合は、コマンドをスキップできます。
`を呼び出すことが可能ですズレ -I'を数回繰り返してから制御を戻します
エディタの表示は、最小化するために最初の1回のみ無効になります。
混乱。
通常は、ディスプレイを操作するより良い方法があります。
zleウィジェット内。例えば、`ズレ -R' その上。
zleが無効になった場合、返されるステータスは0ですが、
以前の呼び出しによって`ズレ -I'またはシステム通知によって通知されます。
この時点でzleウィジェットが呼び出されるかどうかをテストし、実行します ズレ なしで
引数を指定して戻りステータスを調べます。
-T これは、内部変換を追加、リスト、または削除するために使用されます。
ラインエディタによって実行される処理。通常は、
デバッグやテストは一般の人にはあまり興味を持たれない
ユーザー。
`ズレ -T ファンク' は、指定された (参照してください
下記)はシェル関数によって影響を受ける ファンク.
`ズレ -Tr ' 指定された もし存在していたら
(何もなかった場合はエラーではありません)。
`ズレ -TL' を使用すると、現在実行中のすべての変換を一覧表示できます。
現在唯一の変革は tc出力の代わりに使用されます
ターミナルにtermcapコードを送ります。変換が動作しているときは、
シェル関数には、最初に出力されるtermcapコードが渡されます。
引数; 操作に数値引数が必要な場合は、
2番目の引数。関数はシェル変数を設定する必要があります 応答 から
変換されたtermcapコード。通常、これは単純な
コードのフォーマットされたバージョンとデバッグ用のオプションの引数または
この変換は他の非印刷テストには適用されないことに注意してください。
復帰改行などの文字。
ウィジェット [ -n NUM ] [ -Nw ] [ -K キーマップ ] 引数 ...
指定された ウィジェットこれは ZLE がアクティブな場合にのみ実行できます。
通常、これはユーザー定義のウィジェット内にあります。
オプションで -n -N、現在の数値引数が保存され、
その後、呼び出し後に復元されます ウィジェット; `-n NUM' 数値引数を設定します
一時的に NUM、一方で`-N' はそれをデフォルトに設定します。つまり、
なし。
オプション付き -K, キーマップ 現在のキーマップとして使用されます
ウィジェットの実行時に以前のキーマップが復元されます。
ウィジェットが終了します。
通常、この方法でウィジェットを呼び出すと、特別なパラメータは設定されません。
ウィジェット および関連パラメータを設定することで、環境は
ユーザーが呼び出したトップレベルのウィジェットはまだアクティブでした。オプション -w,
ウィジェット 関連するパラメータは、実行されるウィジェットを反映するように設定されます
を通じて、タンピングされたコーヒーベッドの上から均一にフィルターバスケットの内の粉に浸透していきます。 ズレ コール。
それ以上の引数はウィジェットに渡されます。標準として
引数処理を実行する場合は、一般的な引数リストを前に置く必要があります。
by --シェル関数の場合、これらは位置引数として渡されます。
パラメータ;組み込みウィジェットの場合、そのウィジェットが何を指定するかは
現時点では引数は
インクリメンタルサーチコマンドは、 履歴-検索-転送 -後方
対応する関数の先頭に vi-、および 普遍的な議論。 いいえ
コマンドが引数を使用しない場合、または引数のみを使用する場合はエラーが発生します。
それらのいくつか。
戻りステータスは、実行された操作の成功または失敗を反映します。
ウィジェットによって出力され、ユーザー定義ウィジェットの場合は、
シェル関数。
ゼロ以外の戻り値の場合、ウィジェットの終了時にシェルがビープ音を鳴らします。
を除いて BEEP オプションが設定されていないか、ウィジェットが ズレ
コマンド。したがって、ユーザー定義ウィジェットが即時ビープ音を必要とする場合、
を呼び出す必要があります ビープ音 ウィジェットを直接操作します。
ウィジェット
エディタ内のすべてのアクションは「ウィジェット」によって実行されます。ウィジェットの役割は、単に
ちょっとしたアクション。キーマップ内のキーシーケンスにバインドされているZLEコマンドは、
ファクト ウィジェット。ウィジェットはユーザー定義または組み込みにすることができます。
ZLEに組み込まれている標準ウィジェットは、以下の標準ウィジェットにリストされています。その他の組み込みウィジェット
ウィジェットは他のモジュールによって定義できます( zshモジュール(1))。各組み込みウィジェットには2つの
名前: 通常の正規名と、同じ名前の前に`.'。`.'名前は
特別なこと: 別のウィジェットに再バインドすることはできません。これにより、ウィジェットは
通常の名前が再定義されたとき。
ユーザー定義ウィジェットは`を使用して定義されますズレ -N' として実装され、シェル関数として実装されています。
ウィジェットが実行されると、対応するシェル関数が実行され、
編集(またはその他の)アクション。ユーザー定義ウィジェットには、
`で始まる名前.'.
ユーザー定義の ウィジェット
シェル関数として実装されているユーザー定義ウィジェットは、通常のシェル関数を実行できる。
コマンドを使用して他のウィジェット(組み込みまたはユーザー定義)を実行することもできます。 ズレ
組み込みコマンド。関数の標準入力は、外部からの
端末からの読み取りによって意図せずZLEをブロックするコマンドがありますが、 read -k or
read -q 文字を読むために使用できます。最後に、ZLEバッファを調べて編集することができます
以下に説明する特別なパラメータを読み取って設定することで編集されます。
これらの特別なパラメータはウィジェット関数では常に利用可能ですが、
ZLEの外側では特別な値です。ZLEの外側で通常の値を持つ場合、その値は
一時的にアクセスできませんが、ウィジェット関数が終了すると戻ります。これらの特別な
パラメータは実際にはローカルスコープを持ち、関数内で作成されたパラメータのように ローカル.
ZLEがアクティブなときに呼び出される補完ウィジェットとトラップ内では、これらのパラメータは
読み取り専用で利用可能です。
パラメータは、それが現れるZLEウィジェットに対してローカルとして現れることに注意してください。したがって、
これらをオーバーライドしたい場合は、ネストされた関数内で実行する必要があります。
ウィジェット関数() {
# $ウィジェット こちら 指し 〜へ 特別 変数
# それ is ローカル 内部 ウィジェット機能
() {
# この 匿名の 入れ子になりました function ことができます ウィジェット
# 〜へ be 中古 as a ローカル 変数に保存します. 当学校区の -h
# 除去する 特別 status of 変数に保存します.
ローカル -h ウィジェット
}
}
バッファ (スカラー)
編集バッファの内容全体。書き込まれた場合、カーソルは
バッファ外に配置されない限り、同じオフセットになります。
バッファライン (整数)
現在画面に表示されている編集バッファに必要な画面行数
(つまり、最後のパラメータを変更せずに、
再表示); 読み取り専用。
コンテキスト (スカラー)
行を読み取るために zle が呼び出されたコンテキスト。読み取り専用。次のいずれかの値になります。
start コマンドラインの開始(プロンプト PS1).
CONT コマンドラインの継続(プロンプトで PS2).
select で select ループ。
変化した 変数の編集 変化した.
カーソル (整数)
編集バッファ内のカーソルのオフセット。範囲は0~
$#バッファであり、定義により $#Lバッファカーソルを移動しようとする
バッファの外側では、カーソルは適切な末尾に移動します。
バッファ。
カットバッファ (スカラー)
最後のアイテムは、`殺す-' コマンド; 次のヤンクが実行する文字列
行に挿入されます。キルリングの後のエントリは配列にあります
殺害. コマンド`ズレ リージョンをキルとしてコピー string' は次のように使用できます
シェル関数からカットバッファのテキストを設定し、
インタラクティブにテキストを削除するのと同じ方法です。
ヒストノ (整数)
現在の履歴番号。これを設定すると、上または下に移動した場合と同じ効果があります。
履歴内の対応する履歴行に設定されます。設定しようとすると無視されます。
行が履歴に保存されていない場合。これは、
パラメーター HISTCMD常に追加される履歴行の番号を示します。
メインシェルの履歴。 ヒストノ zle 内で取得される行を参照します。
キーマップ (スカラー)
現在選択されているキーマップの名前。読み取り専用。
キー (スカラー)
このウィジェットを呼び出すために入力されたキー (リテラル文字列)。読み取り専用。
殺害 (配列)
以前に殺されたアイテムの配列。最近殺されたものが先頭に表示されます。
取得されるアイテムを示します ヤンクポップ 同じ順序で。注意、
しかし、最も最近殺されたアイテムは $カットバッファ; $キリング 示しています
以前のエントリの配列。
キルリングのデフォルトのサイズは8ですが、長さは次のように変更できます。
通常の配列操作。キルリング内の空文字列は無視されます。
ヤンクポップ コマンドなので、配列のサイズによって最大長が実質的に設定されます
キルリングの長さ、非ゼロ文字列の数は現在の長さを示す。
どちらも、ユーザーがコマンド ラインで見るものと同じです。
最終中止検索 (スカラー)
ユーザーが中止したインタラクティブ検索で最後に使用された検索文字列
(検索ウィジェットによって返されるステータス 3)。
最終検索 (スカラー)
インタラクティブ検索で最後に使用された検索文字列。読み取り専用。
検索が失敗した場合(検索ウィジェットから返されるステータス0、1、または2)、ただし、
ユーザーによって中止されました。
ラストウィジェット (スカラー)
最後に実行されたウィジェットの名前。読み取り専用。
Lバッファ (スカラー)
カーソル位置の左側にあるバッファ部分。
割り当てられたバッファ部分のみが置き換えられ、カーソルはそのまま残ります。
新しい $LBUFFER 古いです $RBUFFER.
マーク (整数)
いいね カーソル、マーク用。動きを待つviモードの演算子では
テキストの領域を選択するコマンド、設定 マーク 選択範囲を拡張できる
最初のカーソル位置から両方向。
数値 (整数)
数値引数。数値引数が指定されていない場合、このパラメータは設定されません。
これをウィジェット関数内に設定した場合、組み込みウィジェットは ズレ
組み込みコマンドは割り当てられた値を使用します。ウィジェット内で設定されていない場合
関数では、呼び出された組み込みウィジェットは数値引数が指定されなかったかのように動作します。
保留中 (整数)
入力待ちのバイト数、つまり既に
入力され、すぐに読み取ることができます。シェルが
この情報を取得すると、このパラメータの値は常にゼロになります。読み取り専用。
プリバッファ (スカラー)
セカンダリプロンプトの複数行入力では、この読み取り専用パラメータには以下が含まれます。
現在カーソルがある行の前の行の内容。
プレディスプレイ (スカラー)
編集可能なテキストバッファの開始前に表示されるテキスト。これは
完全な行である必要があります。完全な行を表示するには、改行を追加する必要があります。
明示的に。テキストは新しい呼び出しごとにリセットされます(ただし再帰的ではありません)
zle の呼び出し。
ポストディスプレイ (スカラー)
編集可能なテキストバッファの末尾に表示されるテキスト。
完全な行にするには、改行を先頭に追加する必要があります。
明示的に。テキストは新しい呼び出しごとにリセットされます(ただし再帰的ではありません)
zle の呼び出し。
Rバッファ (スカラー)
カーソル位置の右側にあるバッファ部分。
割り当てられたバッファ部分のみが置き換えられ、カーソルはそのまま残ります。
古い $LBUFFER と新 $RBUFFER.
地域アクティブ (整数)
領域が現在アクティブかどうかを示します。0または1が割り当てられます。
それぞれ領域を非アクティブ化およびアクティブ化します。値が2の場合、領域がアクティブになります
行単位モードでは、強調表示されたテキストは行全体にわたって表示されます。
人格 ハイライト表示 を参照してください。
地域ハイライト (配列)
この配列の各要素には、強調表示を記述する文字列を設定できます。
次回実行時に有効になるコマンドラインの任意の領域
コマンドラインが再表示されます。コマンドの編集できない部分が強調表示されます。
ラインイン プレディスプレイ ポストディスプレイ 可能ですが、 P フラグが必要です
文字インデックスに含める プレディスプレイ.
各文字列は次の部分で構成されます。
· オプションとして、`P' は、開始オフセットと終了オフセットが
設定された文字列を含める プレディスプレイ 特別なパラメータ。これは必要です
表示前の文字列自体を強調表示する場合。空白文字が続く場合がある。
`P'.
· 開始オフセットは、 カーソル、空白で終了します。
· 終了オフセットは、 カーソル、空白で終了します。
· コンテキストで使用されるのと同じ形式のハイライト仕様
パラメーター zle_ハイライト下記の「文字の強調表示」のセクションを参照してください。
例、 傑出した or fg=赤、太字
たとえば、
リージョンハイライト=("P0 20 大胆な")
表示前を含むテキストの最初の20文字を指定します
文字列は太字で強調表示されます。
の効果に注目してください 地域ハイライト 保存されず、
ラインは受け入れられます。
コマンドラインの最終的なハイライトは、 地域ハイライト
zle_ハイライト詳細については、以下の「文字の強調表示」セクションを参照してください。
変更を取り消す (整数)
元に戻す履歴の状態を表す数値。これが使用されるのは
引数として渡す 取り消す ウィジェットを使用して記録を元に戻す
ポイント。読み取り専用。
UNDO_LIMIT_NO (整数)
元に戻す履歴内の既存の変更に対応する番号。比較
変更を取り消す0より大きい値に設定すると、 取り消す コマンドは
指定された変更番号を超えて行を元に戻すことはできません。
` を使用できるズレ 取り消す 変化する'ウィジェットでそのポイントを超えて元に戻すには、
この場合、元に戻すことはできません。 UNDO_LIMIT_NO 削減されます。設定
制限を無効にするには 0 に設定します。
ウィジェット関数におけるこの変数の典型的な使用法は以下のとおりです(
追加の関数スコープが必要です):
() {
ローカル UNDO_LIMIT_NO=$UNDO_CHANGE_NO
# 実行する 一部 フォーム of 再帰的な 編集。
}
ウィジェット (スカラー)
現在実行中のウィジェットの名前。読み取り専用。
ウィジェット機能 (スカラー)
次のいずれかで定義されたウィジェットを実装するシェル関数の名前。 ズレ -N
or ズレ -C前者の場合、これは ズレ -N command
ウィジェットを定義した引数、または2番目の引数がない場合は最初の引数。
後者の場合、これは3番目の引数です ズレ -C を定義したコマンド
ウィジェット。読み取り専用。
ウィジェットスタイル (スカラー)
現在実行中の完了ウィジェットの背後にある実装について説明します。
続く2番目の議論 ズレ -C ウィジェットが定義されたとき。これは
組み込み補完ウィジェットの名前。 ズレ -N これは設定されています
空の文字列に。読み取り専用。
ヤンクアクティブ (整数)
ヤンクスタート (整数)
ヤンク_END (整数)
これらの3つのパラメータは、テキストがヤンク(貼り付け)されたかどうかを示します。
バッファ。 ヤンクスタート ヤンク_END 同じユニットSASに属している カーソル、そして
有効な場合 ヤンクアクティブ ゼロ以外です。
これら 3 つはすべて読み取り専用です。
ZLE_状態 (スカラー)
現在の状況を説明するスペースで区切られた単語のセットが含まれています ズレ でのみ停止させることができます。
現在表示されている状態は、 上書きモード or
vi-置換 ウィジェットと履歴コマンドがインポートされたエントリを訪問するかどうか
set-local-historyウィジェットによって制御されます。文字列には`insert' もしも
コマンドラインに挿入する文字は既存の文字を右に移動する
または `上書きする' 挿入する文字が既存の文字を上書きする場合は、
`が含まれていますローカルヒストリー' ローカル履歴コマンドのみにアクセスする場合、または
`グローバルヒストリー' インポートされた履歴コマンドも参照される場合。
部分文字列はアルファベット順に並べられているので、2つの文字列をテストしたい場合、
将来性のある方法で特定の部分文字列を一致させるには、次のようにします。
if [[ $ZLE_STATE == *globalhistory*挿入* ]]; その後 ...; fi
Special ウィジェット
シェル専用のユーザー定義ウィジェットがいくつかあります。
存在しない場合、特別なアクションは実行されません。提供される環境は、
その他の編集ウィジェット。
zle-isearch-終了
インクリメンタル検索の終了時にisearchプロンプトが表示された時点で実行されます。
ディスプレイから削除されました。 zle-isearch-アップデート 例として挙げられる。
zle-isearch-アップデート
ディスプレイが再描画される直前に増分検索内で実行されます。
インクリメンタル検索プロンプトの下の追加出力は、以下を使用して生成できます。
`ズレ -M' をウィジェット内に挿入します。たとえば、
zle-isearch-update() { ズレ -M "ライン $HISTNO"; }
ズレ -N zle-isearch-アップデート
` によって出力された行に注目してくださいズレ -M' は増分検索の終了時に削除されません。
これは、 zle-isearch-終了 ウィジェット:
zle-isearch-exit() { ズレ -M ""; }
ズレ -N zle-isearch-終了
zle-line-init
ラインエディタが起動されるたびに実行され、新しい入力行を読み取ります。
次の例では、起動時にライン エディターを vi コマンド モードにします。
zle ライン初期化() { ズレ -K ヴィックマンド }
ズレ -N zle-line-init
(関数内のコマンドはキーマップを直接設定します。これは ズレ
vi-cmd-モード.)
zle-line-finish
これは zle-line-init ラインエディタが
入力行の読み取りが完了しました。
zle 履歴行セット
履歴行が変更されたときに実行されます。
zle-キーマップ選択
キーマップが変更されるたびに実行される、つまり特別なパラメータ キーマップ に設定されています
ラインエディタがアクティブなときに、異なる値を入力します。
ライン エディターが起動してもウィジェットは呼び出されません。
値 $キーマップ 関数内のキーマップは新しいキーマップを反映します。古いキーマップは
唯一の議論として可決されました。
これは、viコマンド(vicmd)を挿入します
(通常は メイン) キーマップ。
STANDARD ウィジェット
以下は、すべての標準ウィジェットと、emacsでのデフォルトのバインディングのリストです。
モード、viコマンドモード、vi挿入モード(`エマックス'、 `vicmd'と `ブドウ' キーマップ、
それぞれ)。
3つのキーマップすべてにおいてカーソルキーは移動キーにバインドされていることに注意してください。シェルは
カーソルキーは端末処理ライブラリによって報告されたキーシーケンスを送信する
(termcap または terminfo)。リストに表示されるキーシーケンスは、VT100 に基づくものです。
多くの現代の端末では一般的ですが、実際には必ずしもこれらがバインドされているわけではありません。
ブドウ キーマップでは、シーケンスの最初のエスケープ文字は、
から vicmd キーマップ: これが起こるかどうかは、 キータイムアウト パラメータ、を参照してください
zshparamとします。
ムーブメント
vi-backward-空白の単語 (アンバウンド) (B) (バインドなし)
1単語分後方に移動します。単語とは、空白以外の文字の連続として定義されます。
文字。
vi-後方-空白-単語終了 (アンバウンド) (gE) (バインドなし)
前の単語の末尾に移動します。単語とは、
空白以外の文字。
後方文字 (^B ESC-[D) (アンバウンド) (アンバウンド)
XNUMX 文字後ろに移動します。
vi-後方文字 (アンバウンド) (^H h ^?)(ESC-[D)
行を変更せずに 1 文字前に戻ります。
バックワードワード (ESC-B ESC-b) (アンバウンド) (アンバウンド)
前の単語の先頭に移動します。
emacs-backward-word
前の単語の先頭に移動します。
vi-後方単語 (アンバウンド) (b) (バインドなし)
vi スタイルで前の単語の先頭に移動します。
vi 後方単語終了 (アンバウンド) (ge) (バインドなし)
vi スタイルで前の単語の末尾に移動します。
行頭 (^A) (アンバウンド) (アンバウンド)
行の先頭に移動します。すでに行の先頭にいる場合は、
前の行の先頭(ある場合)に移動します。
vi-行頭
行を変更せずに行の先頭に移動します。
ダウンライン (アンバウンド) (アンバウンド) (アンバウンド)
バッファ内で 1 行下に移動します。
行末 (^E) (アンバウンド) (アンバウンド)
行末に移動します。すでに行末にある場合は、
次の行(ある場合)。
vi-行末 (アンバウンド) ($) (バインドなし)
行末に移動します。このコマンドに引数が与えられた場合、カーソルは
(引数 - 1) 行下の行末に移動されます。
vi-forward-空白の単語 (アンバウンド) (W) (バインドなし)
1 単語前進します。単語は、空白以外の文字の連続として定義されます。
vi-forward-blank-word-end (アンバウンド) (E) (バインドなし)
現在の単語の末尾に移動します。現在の単語の末尾にある場合は、
次の単語の終わり。単語は空白以外の文字の連続として定義されます。
転送文字 (^F ESC-[C) (アンバウンド) (アンバウンド)
XNUMX文字前に進みます。
vi-forward-char (アンバウンド) (スペース l)(ESC-[C)
XNUMX文字前に進みます。
vi 次の文字を検索 (^X^F)(f) (バインドなし)
キーボードから文字を読み取り、その文字が次に出現する位置に移動します。
ライン。
vi 次の文字を検索してスキップ (アンバウンド) (t) (バインドなし)
キーボードから文字を読み取り、次の文字の直前の位置に移動します。
行内でのその発生。
vi-前の文字を検索 (アンバウンド) (F) (バインドなし)
キーボードから文字を読み取り、その文字が出現する前の場所に移動します。
この線。
vi-前の文字を検索してスキップ (アンバウンド) (T) (バインドなし)
キーボードから文字を読み取り、その直後の位置に移動します。
その行内でのその前の出現。
vi-最初の非空白 (アンバウンド) (^) (バインドなし)
行の最初の空白以外の文字に移動します。
vi-フォワードワード (アンバウンド) (w) (バインドなし)
vi スタイルで 1 単語前進します。
前向きな言葉 (ESC-F ESC-f) (アンバウンド) (アンバウンド)
次の単語の先頭に移動します。編集者の単語の考えが指定されます
ワードチャーズ パラメータに一致する最初のデバイスのリモートコントロール URL を返します。
emacs-forward-word
次の単語の末尾に移動します。
vi-forward-word-end (アンバウンド) (e) (バインドなし)
次の単語の末尾に移動します。
vi-goto-column (ESC-|)(|) (バインドなし)
数値引数で指定された列に移動します。
vi-goto-mark (アンバウンド) (`) (バインドなし)
指定したマークへ移動します。
vi-マークラインへ移動 (アンバウンド) (') (バインドなし)
指定されたマークを含む行の先頭に移動します。
vi-repeat-find (アンバウンド) (;) (バインドなし)
最後を繰り返します vi-検索
vi-rev-repeat-find (アンバウンド) (,) (バインドなし)
最後を繰り返します vi-検索 反対方向にコマンドを実行します。
アップライン (アンバウンド) (アンバウンド) (アンバウンド)
バッファ内の 1 行上に移動します。
沿革 管理
バッファまたは履歴の始まり (ESC-)(gg) (バインドなし)
バッファの先頭に移動する、またはすでに先頭にある場合は最初のイベントに移動する
履歴リストに表示されます。
行頭履歴
行の先頭に移動します。すでにバッファの先頭にある場合は、
前の履歴行に戻ります。
歴史の始まり
履歴リストの最初のイベントに移動します。
ダウンラインまたは履歴 (^N ESC-[B)(j)(ESC-[B)
バッファ内の1行下に移動します。すでに最下行にある場合は次の行に移動します。
履歴リスト内のイベント。
vi-ダウンラインまたは履歴 (アンバウンド) (+) (バインドなし)
バッファ内の1行下に移動します。すでに最下行にある場合は次の行に移動します。
履歴リスト内のイベント。次に、行の最初の空白以外の文字に移動します。
ダウンラインまたは検索
バッファ内の1行下に移動します。すでに最下行にいる場合は、前方に検索します。
バッファ内の最初の単語から始まる行の履歴。
関数から呼び出された場合 ズレ 引数付きのコマンドの場合、最初の引数は
バッファ内の最初の単語ではなく、検索する文字列として扱われます。
ダウンヒストリー (アンバウンド) (^N) (バインドなし)
履歴リスト内の次のイベントに移動します。
履歴の先頭から検索の後方へ
現在の行から次の行までの履歴を遡って検索します。
カーソル。これにより、カーソルは元の位置に残ります。
バッファまたは履歴の終わり (ESC->) (アンバウンド) (アンバウンド)
バッファの末尾に移動する。すでにバッファの末尾にある場合は、バッファの最後のイベントに移動する。
履歴リスト。
行末履歴
行末に移動します。すでにバッファの末尾にある場合は、次の行に移動します。
履歴ライン。
歴史の終わり
履歴リストの最後のイベントに移動します。
vi フェッチ履歴 (アンバウンド) (G) (バインドなし)
数値引数で指定された履歴行を取得します。デフォルトは
現在の履歴行 (つまり、まだ履歴ではない行)。
履歴-インクリメンタルサーチ-後方 (^R ^Xr) (アンバウンド) (アンバウンド)
指定された文字列を後方にインクリメンタルに検索します。検索は
検索文字列に大文字が含まれず、
数値引数が指定されました。文字列は`で始まる可能性があります^' 検索を固定するには
行の先頭。ユーザー定義関数から呼び出された場合は、
次のステータス: 0、検索が成功した場合; 1、検索が失敗した場合; 2、
検索語が不正なパターンであった場合、3、検索が中止された場合 センドブレイク
ミニバッファでは、編集機能の制限されたセットが利用できます。キーは
特別に調べた 私は検索します キーマップ、メインキーマップに見つからない場合
(デフォルトでは 私は検索します キーマップが空の場合)。割り込み信号として、
stty 設定で定義された行は検索を停止し、元の行に戻ります。
未定義のキーでも同じ効果があります。以下のキーは常に実行されることに注意してください。
インクリメンタル検索内で同じタスクを実行し、ユーザー定義のタスクに置き換えることはできません。
ウィジェットも関数セットも拡張できません。サポートされている関数は次のとおりです。
受け入れて保持
受け入れて推論する次の履歴
受け入れライン
受け入れラインとダウン履歴
インクリメンタル検索を終了した後に通常の機能を実行します。コマンド
表示された行が実行されます。
後方削除文字
vi 後方文字削除
検索履歴を1つ前に戻します。検索が繰り返された場合
これによってミニバッファ内の文字がすぐに消去されるわけではありません。
受け入れる-検索
インクリメンタル検索を終了し、コマンドラインは保持するが、何も実行しない。
さらにアクションを実行します。この関数はデフォルトではバインドされておらず、
インクリメンタル検索の外部に影響します。
後方削除ワード
バックワードキルワード
vi 後方単語削除
ミニバッファ内の1文字を戻します。複数の検索が行われている場合は、
文字が挿入されてから実行された検索履歴は、
文字が入力される直前のポイント。したがって、これは次のような効果があります
繰り返す 後方削除文字.
クリアスクリーン
画面をクリアし、増分検索モードのままにします。
履歴-インクリメンタルサーチ-後方
ミニバッファの内容の次の出現箇所を探します。
ミニバッファが空の場合、最後に使用した検索文字列は
復帰した。
履歴-インクリメンタルサーチ-フォワード
検索の意味を反転します。
魔法の空間
非魔法スペースを挿入します。
引用-挿入
vi 引用挿入
ミニバッファに挿入する文字を引用します。
再表示
インクリメンタル検索モードのまま、コマンド ラインを再表示します。
vi-cmd-モード
`を選択しますvicmd' キーマップ; `メイン' キーマップ(挿入モード)が選択されます
最初は
さらに、vi挿入モードで行われた変更は
単一の元に戻すイベントを形成するために結合されます。
vi-繰り返し検索
vi-rev-繰り返し検索
検索を繰り返します。検索の方向は
ミニバッファ。
上記の機能のいずれにもバインドされていない文字、または 自己挿入 or
自己挿入-アンメタ、モードを終了します。その後、文字が検索されます
その時点で有効なキーマップで実行されます。
ウィジェット関数から呼び出されると、 ズレ コマンド、増分検索
コマンドは文字列引数を取ることができます。これはキーの文字列として扱われます。
議論のために バインドキー コマンドとして実行され、コマンドの初期入力として使用されます。
インクリメンタル検索で使用されない文字列内の文字は
黙って無視される。例えば、
ズレ 履歴-インクリメンタルサーチ-後方 鉗子
後ろ向きに検索します 鉗子ミニバッファには文字列
`鉗子'.
履歴-インクリメンタルサーチ-フォワード (^S ^Xs) (アンバウンド) (アンバウンド)
指定された文字列を前方にインクリメンタルに検索します。検索は
検索文字列に大文字が含まれず、
数値引数が指定されました。文字列は`で始まる可能性があります^' 検索を固定するには
行の先頭。ミニバッファで利用できる機能は、
はどうかと言うと 履歴-インクリメンタルサーチ-後方.
履歴増分パターン後方検索
履歴増分パターン検索前方
これらのウィジェットは、対応するウィジェットと同様に動作しますが、 -パターン、 だけど
ユーザーが入力した検索文字列は、現在の
パターンマッチングに影響するさまざまなオプションの設定。FILENAMEを参照してください。
ジェネレーション zshexpn(1)パターンの説明。数値引数がない場合
検索文字列に小文字を指定すると、大文字と一致する場合があります。
履歴。文字列は`で始まる場合があります^'検索を先頭に固定するには
この線。
プロンプトが無効なパターンを示すように変わります。これは単に
パターンはまだ完成していません。
重複しない一致のみが報告されるので、
ワイルドカードを使用すると、検査で確認できるよりも少ない一致が行に返される場合があります。
履歴-検索-後方 (ESC+P キー ESC-p) (アンバウンド) (アンバウンド)
履歴を遡って、最初の単語で始まる行を検索する。
バッファ。
関数から呼び出された場合 ズレ 引数付きのコマンドの場合、最初の引数は
バッファ内の最初の単語ではなく、検索する文字列として扱われます。
vi 履歴を後方検索 (アンバウンド) (/) (バインドなし)
指定した文字列を履歴内で後方に検索します。文字列は
`^' を使用すると、検索が行の先頭に固定されます。
ミニバッファでは、編集機能の制限されたセットが利用できます。
stty設定で定義された割り込み信号により、検索が停止します。
ミニバッファで使用できる機能は次のとおりです。 受け入れライン, 後方削除文字,
vi 後方文字削除, バックワードキルワード, vi 後方単語削除, クリアスクリーン,
再表示, 引用-挿入 vi 引用挿入.
vi-cmd-モード accept-lineと同じように扱われ、 魔法の空間 として扱われます
スペース。self-insertまたはself-insert-unmetaにバインドされていないその他の文字
ビープ音が鳴り、無視されます。関数がviコマンドモードから呼び出された場合、
現在の挿入モードのバインディングが使用されます。
関数から呼び出された場合 ズレ 引数付きのコマンドの場合、最初の引数は
バッファ内の最初の単語ではなく、検索する文字列として扱われます。
履歴-検索-転送 (ESC-N ESC-n) (アンバウンド) (アンバウンド)
履歴内で先頭の単語で始まる行を前方に検索します。
バッファ。
関数から呼び出された場合 ズレ 引数付きのコマンドの場合、最初の引数は
バッファ内の最初の単語ではなく、検索する文字列として扱われます。
vi 履歴検索前方 (アンバウンド) (?) (バインドなし)
履歴内で指定された文字列を前方に検索します。文字列は
`^' は検索を行頭に固定します。
ミニバッファは vi 履歴を後方検索. 引数の扱い
そのコマンドの場合も同様です。
次の履歴を推測する (^X^N) (アンバウンド) (アンバウンド)
履歴リストで現在の行と一致する行を検索し、イベントを取得します。
それに従います。
挿入-最後の単語 (ESC-_ ESC-。) (アンバウンド) (アンバウンド)
カーソル位置に、前の履歴イベントの最後の単語を挿入します。
正の数値引数が与えられた場合、前の引数の末尾からその単語を挿入する
履歴イベント。引数が0または負の場合は、左からその単語を挿入します
(ゼロは前のコマンドワードを挿入します)。このコマンドを繰り返すと、単語が置き換えられます
先ほど使用した単語の前の履歴イベントの最後の単語が挿入されます。
数値引数も同様に使用して、そのイベントから単語を選択できます。
ユーザー定義ウィジェットから呼び出されたシェル関数から呼び出された場合、コマンド
1つから3つの引数を取ることができます。最初の引数は履歴オフセットを指定します
これはこのウィジェットへの連続した呼び出しに適用されます。-1の場合は、デフォルト
動作が使用され、1の場合は、連続した呼び出しは前方に移動します
履歴。値0は、
コマンドの前回の実行が再検査されます。負の値の場合は
数字の前には`--オプションとの混同を避けるために、「' 引数」を使用します。
2つの引数が与えられた場合、2番目の引数はコマンドライン上の単語を指定します。
通常の配列インデックス表記(数値のより自然な代替として)
引数)。したがって、1 は最初の単語、-1 (デフォルト) は最後の単語になります。
3番目の引数が与えられた場合、その値は無視されますが、
履歴オフセットは、現在の履歴行に対する相対値であり、
前回の呼び出し後に思い出した 挿入-最後の単語.
たとえば、コマンドのデフォルトの動作は次のようになります。
ズレ 挿入-最後の単語 -- -1 -1
コマンド
ズレ 挿入-最後の単語 -- -1 1 -
常にその行の直前の履歴にある行の最初の単語をコピーします。
編集中。これにより、ウィジェットを後で呼び出すと、
その線に相対的になります。
vi-繰り返し検索 (アンバウンド) (n) (バインドなし)
最後の vi 履歴検索を繰り返します。
vi-rev-繰り返し検索 (アンバウンド) (N) (バインドなし)
最後の vi 履歴検索を逆順に繰り返します。
アップラインまたは履歴 (^P ESC-[A)(k)(ESC-[A)
バッファ内の1行上に移動するか、すでに先頭行にある場合は前の行に移動する
履歴リスト内のイベント。
vi-up-line-or-history (アンバウンド) (-) (バインドなし)
バッファ内の1行上に移動するか、すでに先頭行にある場合は前の行に移動する
履歴リスト内のイベント。次に、行の最初の空白以外の文字に移動します。
アップラインまたは検索
バッファ内の行を上に移動するか、すでに先頭行にいる場合は、バッファ内で後方に検索します。
バッファ内の最初の単語で始まる行の履歴。
関数から呼び出された場合 ズレ 引数付きのコマンドの場合、最初の引数は
バッファ内の最初の単語ではなく、検索する文字列として扱われます。
アップヒストリー (アンバウンド) (^P) (バインドなし)
履歴リスト内の前のイベントに移動します。
履歴-先頭-検索-前方
現在の行から始まる行を履歴内で前方検索します。
カーソル。これにより、カーソルは元の位置に残ります。
ローカル履歴の設定
デフォルトでは、履歴移動コマンドはローカル行だけでなくインポートされた行にもアクセスします。
行。このウィジェットでは、オンとオフを切り替えたり、数値で設定したりできます。
引数。ローカル ラインとインポートされたラインの両方の場合は 0、ローカル ラインのみの場合は 0 以外になります。
変更 テキスト
vi-add-eol (アンバウンド) (A) (バインドなし)
行末まで移動し、挿入モードに入ります。
vi-追加-次 (アンバウンド) (a) (バインドなし)
行を変更せずに、現在のカーソル位置の後に挿入モードに入ります。
後方削除文字 (^H ^?) (アンバウンド) (アンバウンド)
カーソルの後ろの文字を削除します。
vi 後方文字削除 (アンバウンド) (X)(^H)
カーソルの後ろの文字を行を変更せずに削除します。挿入モードの場合、
これにより、挿入モードが最後に入力されたポイントを超えて削除されることはありません。
後方削除ワード
カーソルの後ろにある単語を削除します。
後方キルライン
行の先頭からカーソル位置までを削除します。
バックワードキルワード (^W ESC-^H ESC-^?) (アンバウンド) (アンバウンド)
カーソルの後ろにある単語を削除します。
vi 後方単語削除 (アンバウンド) (アンバウンド) (^W)
挿入モードが設定されているポイントを越えずに、カーソルの後ろの単語を削除します。
最後に入力しました。
大文字の単語 (ESC-C ESC-c) (アンバウンド) (アンバウンド)
現在の単語を大文字にして、その単語を過ぎます。
vi-チェンジ (アンバウンド) (c) (バインドなし)
キーボードから移動コマンドを読み取り、カーソル位置から
移動の終点を選択します。挿入モードに入ります。コマンドが vi-チェンジ,
現在の行を変更します。
viとの互換性のため、コマンドが vi-フォワードワード or
vi-forward-空白の単語単語の後の空白は含まれません。
空白を含むより一貫した動作には次のキーを使用します
製本:
バインドキー -a -s cw dwi
vi-change-eol (アンバウンド) (C) (バインドなし)
行末まで削除し、挿入モードに入ります。
vi-行全体を変更 (アンバウンド) (S) (バインドなし)
現在の行を削除し、挿入モードに入ります。
リージョンをキルとしてコピー (ESC-W ESC-w) (アンバウンド) (アンバウンド)
カーソルからマークまでの領域をキル バッファーにコピーします。
ZLEウィジェット関数から`の形式で呼び出された場合ズレ リージョンをキルとしてコピー string'
その後 string はキルバッファにコピーするテキストとして扱われます。カーソル、
この場合、マークとコマンドライン上のテキストは使用されません。
コピー前の単語 (ESC-^_) (アンバウンド) (アンバウンド)
カーソルの左側の単語を複製します。
コピー前シェルワード
いいね コピー前の単語、しかし、この単語はシェル解析を使用して検索されますが、
コピー前の単語 空白を探す。これは単語が引用符で囲まれているときに違いを生む。
スペースが含まれています。
vi-削除 (アンバウンド) (d) (バインドなし)
キーボードから移動コマンドを読み取り、カーソル位置から
移動の終点。コマンドが vi-削除、現在の行を削除します。
削除文字
カーソル下の文字を削除します。
vi-文字削除 (アンバウンド) (x) (バインドなし)
行末を超えずに、カーソルの下の文字を削除します。
単語の削除
現在の単語を削除します。
小文字の単語 (ESC-L ESC-l) (アンバウンド) (アンバウンド)
現在の単語をすべて小文字に変換して、その単語を過ぎます。
キルワード (ESC-D ESC-d) (アンバウンド) (アンバウンド)
現在の単語を削除します。
gosmacs 転置文字
カーソルの後ろにある 2 つの文字を交換します。
viインデント (アンバウンド) (>) (バインドなし)
複数行をインデントします。
vi-挿入 (アンバウンド) (i) (バインドなし)
挿入モードに入ります。
vi-挿入-bol (アンバウンド) (I) (バインドなし)
行の最初の空白以外の文字に移動し、挿入モードに入ります。
vi-結合 (^X^J)(J) (バインドなし)
現在の行を次の行に結合します。
キルライン (^K) (アンバウンド) (アンバウンド)
カーソルから行末までを削除します。すでに行末にある場合は、
改行文字を削除します。
vi-kill-line (アンバウンド) (アンバウンド) (^U)
カーソルから、最後に挿入モードに入った場所までを消去します。
vi-kill-eol (アンバウンド) (D) (バインドなし)
カーソルから行末までを削除します。
キルリージョン
カーソルからマークまでをキルします。
キルバッファ (^X^K) (アンバウンド) (アンバウンド)
バッファ全体を削除してください。
キル-全行 (^U) (アンバウンド) (アンバウンド)
現在の行を削除します。
vi-マッチブラケット (^X^B)(%) (バインドなし)
括弧文字(次のいずれか)に移動します {}, () or [])の下にあるものと一致する
カーソルが括弧文字上にない場合は、カーソルを移動せずに前方に移動します。
行の末尾を超えて検索し、対応する括弧に移動します。
vi-open-line-above (アンバウンド) (O) (バインドなし)
カーソルの上に行を開いて挿入モードに入ります。
vi-open-line-below (アンバウンド) (o) (バインドなし)
カーソルの下に行を開き、挿入モードに入ります。
vi-oper-スワップケース (アンバウンド) (g~) (バインドなし)
キーボードから移動コマンドを読み取り、すべての文字の大文字と小文字を入れ替えます。
カーソル位置を移動の終点まで移動します。移動コマンドが
vi-oper-スワップケース、現在の行のすべての文字の大文字と小文字を入れ替えます。
上書きモード (^X^O) (アンバウンド) (アンバウンド)
上書きモードと挿入モードを切り替えます。
vi-put-before (アンバウンド) (P) (バインドなし)
カーソルの前にキルバッファの内容を挿入します。キルバッファが
文字列(文字ではなく)が含まれている場合は、現在の行の上に貼り付けます。
ライン。
vi-put-after (アンバウンド) (p) (バインドなし)
カーソルの後にキルバッファの内容を挿入します。キルバッファが
文字列(文字ではなく)が含まれている場合は、現在の
ライン。
選択項目を置き換える (アンバウンド) (アンバウンド) (アンバウンド)
現在の領域または選択範囲の内容を、
キルバッファ。キルバッファに行のシーケンスが含まれている場合(
文字数が多い場合、現在の行は貼り付けられた行によって分割されます。
引用-挿入 (^V) (アンバウンド) (アンバウンド)
バッファに入力された次の文字をそのまま挿入します。割り込み文字
挿入されません。
vi 引用挿入 (アンバウンド) (アンバウンド) (^Q ^V)
` を表示する^'カーソル位置に入力し、次に入力した文字を
バッファを文字通りに使用します。割り込み文字は挿入されません。
引用行 (ESC-') (アンバウンド) (アンバウンド)
現在の行を引用符で囲みます。つまり、`'' 文字を先頭と末尾に付け、
そしてすべての`を変換します'' 文字を `'\'''.
引用領域 (ESC-") (アンバウンド) (アンバウンド)
カーソルからマークまでの領域を引用します。
vi-置換 (アンバウンド) (R) (バインドなし)
上書きモードに入ります。
vi-繰り返し変更 (アンバウンド) (.) (バインドなし)
最後のviモードのテキスト変更を繰り返します。
変更した場合は記憶されます。このコマンドにカウントが指定されている場合は、それが上書きされます。
記憶されたカウントは、このコマンドを今後使用するために記憶されます。
バッファ仕様も同様に記憶されます。
vi 文字の置換 (アンバウンド) (r) (バインドなし)
カーソルの下の文字をキーボードから読み取った文字に置き換えます。
自己挿入 (印刷可能な文字) (無制限) (印刷可能な文字と一部の制御文字)
キャラクター)
カーソル位置にバッファに文字を挿入します。
自己挿入-アンメタ (ESC-^I ESC-^J ESC-^M) (アンバウンド) (アンバウンド)
メタビットを削除して^Mに変換した後、バッファに文字を挿入します。
^Jへ。
vi-代替品 (アンバウンド) (s) (バインドなし)
次の文字を置き換えます。
vi スワップケース (アンバウンド) (~) (バインドなし)
カーソルの下の文字の大文字と小文字を入れ替えて、カーソルを通り過ぎます。
転置文字 (^T) (アンバウンド) (アンバウンド)
行末の場合はカーソルの左側の2文字を交換し、そうでない場合は
カーソルの下の文字を左側の文字と交換します。
転置-単語 (ESC-T ESC-t) (アンバウンド) (アンバウンド)
現在の単語をその前の単語と交換します。
vi-インデント解除 (アンバウンド) (<) (バインドなし)
複数行のインデントを解除します。
大文字の単語 (ESC-U ESC-u) (アンバウンド) (アンバウンド)
現在の単語をすべて大文字に変換して、その単語を過ぎます。
ヤンク (^Y) (アンバウンド) (アンバウンド)
キルバッファの内容をカーソル位置に挿入します。
ヤンクポップ (ESC-y) (アンバウンド) (アンバウンド)
ヤンクしたテキストを削除し、キルリング(以前にキルしたテキストの履歴)を回転します。
テキスト)をコピーして新しいトップをヤンクします。 ヤンク, vi-put-before, vi-put-after
or ヤンクポップ.
ヴィヤンク (アンバウンド) (y) (バインドなし)
キーボードから移動コマンドを読み取り、カーソルから領域をコピーします
移動の終点の位置をキルバッファに移動する。コマンドが
ヴィヤンク、現在の行をコピーします。
vi-ヤンク-全行 (アンバウンド) (Y) (バインドなし)
現在の行をキル バッファにコピーします。
ヴィヤンク・エオル
カーソル位置から行末までの領域をkillにコピーする
バッファ。おそらくこれは、Yがviで行うべきことなのだが、実際にはそうではない。
ありません。
Arguments
数字引数 (ESC-0..ESC-9)(1-9) (バインドなし)
新しい数値引数を開始するか、現在の数値引数に追加します。
vi 桁または行頭これは、キーシーケンスの末尾にバインドされている場合にのみ機能します。
10進数で。
ウィジェット関数内では、この関数の呼び出しはキーの最後のキーを扱います
ウィジェットを数字として呼び出すシーケンス。
否定論証 (ESC - ) (アンバウンド) (アンバウンド)
次の引数の符号を変更します。
普遍的な議論
次のコマンドの引数を4倍します。あるいは、このコマンドが
整数(正または負)が続く場合は、それを引数として使用します。
次のコマンドを使用します。したがって、このコマンドでは数字を繰り返すことはできません。たとえば、
このコマンドは2回実行され、その後すぐに 転送文字、前進する
16個のスペース。代わりに -2をタップし、その後、 転送文字、後ろに移動する
2つのスペース。
ウィジェット関数内で引数が渡された場合、つまり`ズレ 普遍的な議論 NUM',
数値引数は次のように設定されます NUM; これは`数値=NUM'.
引数ベース
既存の数値引数を数値基数として使用します。数値基数は2の範囲でなければなりません。
36まで。その後の使用 数字引数 普遍的な議論 意志
与えられた基数で新しい数値引数を入力します。通常の16進数表記法では
使用される文字: a or A は10に相当し、以下同様である。基数における引数
10以上の数字を入力する場合は、
普遍的な議論、以来、 ESC-a などは通常、 数字引数.
この関数は、ユーザー定義ウィジェット内でコマンド引数とともに使用できます。
次のコードは基数を16に設定し、ユーザーにXNUMX進数の引数を入力させます。
数字範囲外のキーが入力されるまで:
ズレ 引数ベース 16
ズレ 普遍的な議論
完成
受け入れてメニューを完成させる
メニュー補完では、現在の補完をバッファに挿入し、
次の可能な完了。
完全な単語
現在の単語の補完を試みます。
削除文字またはリスト (^D) (アンバウンド) (アンバウンド)
カーソルの下の文字を削除します。カーソルが行末にある場合は、
現在の単語の補完候補を一覧表示します。
展開コマンドパス
現在のコマンドを完全なパス名に拡張します。
展開または完了 (TAB) (非結合) (TAB)
現在の単語に対してシェルの拡張を試みます。それが失敗した場合は補完を試みます。
エキスパンドまたはコンプリートプレフィックス
現在の単語からカーソルまでのシェル拡張を試みます。
拡張履歴 (ESC-スペース ESC-!) (アンバウンド) (アンバウンド)
編集バッファの履歴展開を実行します。
単語を展開する (^X*) (アンバウンド) (アンバウンド)
現在の単語に対してシェルの拡張を試みます。
リスト-選択肢 (ESC-^D)(^D =)(^D)
現在の単語の可能な補完を一覧表示します。
リスト展開 (^Xg ^XG)(^G)(^G)
現在の単語の展開を一覧表示します。
魔法の空間
履歴展開を実行し、バッファにスペースを挿入します。これは、
空間に縛られる。
メニュー-完了
いいね 完全な単語ただし、メニュー補完が使用される点が異なります。 メニュー_完了
オプションを選択します。
メニューの展開または完了
いいね 展開または完了ただし、メニュー補完が使用されます。
リバースメニュー-完了
メニュー補完を実行する。 メニュー-完了ただし、メニュー補完が
すでに進行中の場合は、 前 次ではなく完了。
リストの終わり
前回の補完でプロンプトの下にリストが表示されていた場合、このウィジェットは
プロンプトをリストの下に移動するために使用されます。
その他
受け入れて保持 (ESC-A ESC-a) (アンバウンド) (アンバウンド)
バッファの内容をバッファスタックにプッシュして実行します。
受け入れて推論する次の履歴
バッファの内容を実行します。次に、履歴リストで行を検索します。
現在のイベントと一致し、次のイベントをバッファ スタックにプッシュします。
受け入れライン (^J ^M)(^J ^M)(^J ^M)
バッファの編集を終了します。通常、これによりバッファは次のように実行されます。
シェルコマンド。
受け入れラインとダウン履歴 (^O) (アンバウンド) (アンバウンド)
現在の行を実行し、次の履歴イベントをバッファ スタックにプッシュします。
自動サフィックス削除
前のアクションで単語に接尾辞(スペース、スラッシュなど)が追加された場合は、
コマンドラインでサフィックスを削除すると、
アクティブなメニューの完了またはメニューの選択。
このウィジェットは、ユーザー定義ウィジェットから呼び出され、望ましい動作を強制することを目的としています。
サフィックス削除動作。
自動サフィックス保持
前のアクションで単語に接尾辞(スペース、スラッシュなど)が追加された場合は、
コマンドラインで保存を強制します。それ以外の場合は何もしません。
サフィックスは、アクティブなメニューの補完またはメニューの選択を終了します。
このウィジェットは、ユーザー定義ウィジェットから呼び出され、望ましい動作を強制することを目的としています。
サフィックス保存動作。
ビープ音 ビープ音、 BEEP オプションは設定されていません。
括弧で囲んだ貼り付け
このウィジェットは、テキストがターミナルエミュレータに貼り付けられたときに呼び出されます。
実際のキーにバインドされるのではなく、生成された特別なシーケンスにバインドされる
テキストを貼り付けるときにターミナルエミュレータによって使用されます。数値引数が指定されている場合は、
貼り付けられたテキストには挿入前にシェル引用符が適用されます。
ウィジェット関数から、引数を与えて変数を指定することができます。
貼り付けたテキストが割り当てられます。
参照してください zle_bracketed_paste パラメータに一致する最初のデバイスのリモートコントロール URL を返します。
vi-cmd-モード (^X^V) (非結合) (^[)
コマンドモードに入ります。つまり、`vicmd' キーマップ。はい、これは
emacs モードのデフォルト。
vi-caps-lock-パニック
小文字キーが押されるまで待機します。これは、精神的に
Caps Lock キーを把握する能力 (著者のように)
クリアスクリーン (^L ESC-^L)(^L)(^L)
画面をクリアしてプロンプトを再描画します。
非アクティブ化領域
現在の領域を非アクティブにします。これにより、vimスタイルのビジュアル選択モードが無効になります。
アクティブです。
キーを簡単に説明する
キーシーケンスを読み取り、そのシーケンスにバインドされた関数を出力します。
交換ポイントとマーク (^X^X) (アンバウンド) (アンバウンド)
カーソル位置(ポイント)をマークの位置と交換します。
負の数値引数が与えられた場合、ポイントとマークの間の領域がアクティブになります
強調表示できるように、数値引数にゼロを指定した場合、領域は
アクティブ化されていますが、ポイントとマークは交換されません。
名前付きコマンドの実行 (ESC-x)(:) (バインドなし)
エディタコマンドの名前を読み取って実行します。編集コマンドの制限セット
関数はミニバッファで利用可能です。キーは特別な
command キーマップ、そしてメインキーマップに見つからない場合は割り込み信号として
stty設定で定義されている関数を中止します。次のことに注意してください
常に同じタスクを実行する 実行された名前のcmd 環境とできない
ユーザー定義のウィジェットに置き換えることも、関数セットを拡張することもできません。
許可される機能は次のとおりです: 後方削除文字, vi 後方文字削除, クリアスクリーン,
再表示, 引用-挿入, vi 引用挿入, バックワードキルワード,
vi 後方単語削除, キル-全行, vi-kill-line, 後方キルライン,
リスト-選択肢, 削除文字またはリスト, 完全な単語, 受け入れライン, 展開または完了
エキスパンドまたはコンプリートプレフィックス.
キルリージョン 最後の単語を削除し、vi-cmd-modeは次のように扱われます。
accept-line。スペースとタブ文字は、これらの関数のいずれかにバインドされていない場合は、
名前を補完し、候補をリストアップします。 AUTO_LIST オプションがある
セットにバインドされていない他の文字は 自己挿入 or 自己挿入-アンメタ
ビープ音が鳴り、無視されます。現在の挿入モードのバインディングが使用されます。
現在、このコマンドは再定義したり、名前で呼び出したりすることはできません。
最後に指定したコマンドを実行する (ESC-z) (アンバウンド) (アンバウンド)
最後に実行した関数をやり直す 名前付きコマンドの実行.
現在、このコマンドは再定義したり、名前で呼び出したりすることはできません。
ゲットライン (ESC-G ESC-g) (アンバウンド) (アンバウンド)
バッファ スタックから一番上の行をポップし、カーソル位置に挿入します。
ポンド挿入 (アンバウンド) (#) (バインドなし)
バッファの先頭に#文字がない場合は、先頭に1つ追加します
各行の#を削除します。
この場合、現在の行を受け入れます。 INTERACTIVE_COMMENTS オプションを設定する必要があります
これには何らかの有用性がある。
vi-pound-insert
現在の行の先頭に#文字がない場合は、追加します。
1つであれば削除します。 INTERACTIVE_COMMENTS このオプションを設定する必要があります
いかなる有用性も。
プッシュ入力
現在の複数行構造全体をバッファスタックにプッシュし、
トップレベル(PS1)プロンプトが表示されます。現在のパーサー構成が1行のみの場合、
これはまさに プッシュライン次回エディターを起動するか、
ゲットライン、構造はバッファスタックの先頭からポップされ、ロードされます
編集バッファに入力します。
プッシュライン (^Q ESC-Q ESC-q) (アンバウンド) (アンバウンド)
現在のバッファをバッファスタックにプッシュし、バッファをクリアします。次回
エディタが起動すると、バッファはバッファスタックの先頭からポップされ、
編集バッファに読み込まれます。
プッシュラインまたは編集
トップレベル(PS1) プロンプトは、 プッシュライン二次(PS2)
プロンプトが表示されたら、現在の複数行構造全体をエディタバッファに移動します。
後者は プッシュ入力 続い ゲットライン.
読み取りコマンド
ユーザー定義ウィジェットからのみ有効です。キーストロークは通常の
操作ですが、実行されるコマンドの代わりに、
実行されるものはシェルパラメータに保存されます 応答。これは、
将来の議論 ズレ コマンド。キーシーケンスがバインドされていない場合、ステータス1は
返されるが、通常は、 応答 に設定されています 未定義のキー 役に立たないことを示す
キーシーケンス。
再帰的編集
ユーザー定義ウィジェットからのみ有効です。関数のこの時点では、エディターは
制御を取り戻すまで、通常はzleが
出口(通常は 受け入れライン リターンキーを押すことによって発生するエラーが実行されます。
代わりに、制御はユーザー定義ウィジェットに戻ります。返されるステータスは
エラーによって戻りが発生した場合、関数は続行されます。
実行中なので整理整頓できる。これにより、ユーザー定義ウィジェットが安全に
コマンドラインまたはキーバインディングを一時的に変更します。
次のウィジェットは、 キャップスロックが例として挙げられます。
自己挿入 ucase() {
LBUFFER+=${(U)KEYS[-1]}
}
整数統計
zle -N 自己挿入 自己挿入-ucase
zle -A キャップスロック 保存キャップスロック
zle -A 受け入れライン Caps Lock
zle 再帰編集
統計=$?
zle -A .self-insert 自己挿入
zle -A 保存-キャップスロック キャップスロック
zle -D 保存キャップスロック
(( stat )) && zle 送信ブレーク
$statを返す
これにより、入力された文字は、次のいずれかまで大文字で挿入されます。 受け入れライン (すなわち、
通常はリターンキー)が入力されるか、 キャップスロック ウィジェットが再度呼び出されます。
後で古い定義を保存することで処理されます キャップスロック as 保存-CapsLock
次にそれを再バインドして呼び出します 受け入れライン再帰的なエラーが発生することに注意してください
編集はゼロ以外の戻りステータスとして検出され、 センドブレイク
ウィジェット。
再表示 (アンバウンド) (^R)(^R)
編集バッファを再表示します。
リセットプロンプト (アンバウンド) (アンバウンド) (アンバウンド)
画面の左右両方のプロンプトを強制的に再展開し、
編集バッファを再表示します。これはプロンプト変数と
自分自身と値の拡大の変化(例えば、時間の変化)
またはディレクトリ、またはプロンプトによって参照される変数の値の変更)。
それ以外の場合、プロンプトはzleが起動するたびに展開され、ディスプレイが
シェルの別の部分からの出力(ジョブなど)によって中断されたものとして扱われます
通知) により、コマンド ラインが再印刷されます。
センドブレイク (^G ESC-^G) (アンバウンド) (アンバウンド)
現在のエディタ機能を中止します。例: 指定されたコマンドを実行する、または編集者
それ自体、例えばあなたが 変化したそれ以外の場合は、現在の行の解析を中止します。
この場合、中止された行はシェル変数で利用可能である ZLE_LINE_ABORTED.
エディタが内部から中止された場合 変化した、変数 ZLE_VARED_ABORTED 設定されています。
実行ヘルプ (ESC-H ESC-h) (アンバウンド) (アンバウンド)
バッファをバッファスタックにプッシュし、コマンド`を実行します。実行ヘルプ CMD',
コラボレー CMD 現在のコマンドです。 実行ヘルプ 通常は次のように別名付けられます man.
vi-set-buffer (アンバウンド) (") (バインドなし)
次のコマンドで使用するバッファを指定します。37個のバッファがあります。
指定できるのは26個の「名前付き」バッファ "a 〜へ "z、`yank'バッファ "0、9つの
「キューに入れられた」バッファ "1 〜へ "9 そして「ブラックホール」バッファ "_名前付きバッファは
次のようにも指定できる "A 〜へ "Z.
カット、変更、ヤンクコマンドにバッファが指定されると、関連するテキストは
指定されたバッファの以前の内容を置き換えます。名前付きバッファが
大文字で指定すると、新しく切り取られたテキストはバッファに追加される代わりに
上書きします。 "_ バッファリングしても何も起こりません。これは次のような場合に便利です
通常のレジスタに影響を与えずにテキストを削除します。
カットまたは変更コマンドにバッファが指定されていない場合、 "1 が使用され、その内容は
of "1 〜へ "8 それぞれ1つのバッファに沿ってシフトされ、 "9 失われます。
バッファはヤンクコマンドに指定され、 "0 が使用されます。最後に、貼り付けコマンド
バッファを指定しない場合は、最新のコマンドからのテキストを貼り付けます
そのコマンドで使用された可能性のあるバッファに関係なく。
ウィジェット関数から呼び出されると、 ズレ コマンドでは、バッファはオプションで
引数で指定します。たとえば、
ズレ vi-set-buffer A
vi-set-mark (アンバウンド) (m) (バインドなし)
カーソル位置に指定したマークを設定します。
マーク設定コマンド (^@) (アンバウンド) (アンバウンド)
カーソル位置にマークを設定します。負の数値引数で呼び出された場合は、
マークを設定せずに領域を非アクティブ化して、ハイライトされないようにする
(他の目的には引き続き使用できます)。それ以外の場合、領域はアクティブとしてマークされます。
スペルワード (ESC-$ ESC-S ESC-s) (アンバウンド) (アンバウンド)
現在の単語のスペル修正を試みます。
分割元に戻す
現在の変更で元に戻すシーケンスを中断します。これはviモードでは次のように便利です。
挿入モードで行われた変更は、コマンドモードに入ると統合されます。同様に、
取り消す 通常、ユーザー定義ウィジェットによって行われたすべての変更を 1 つとして元に戻します。
未定義のキー
このコマンドは、どのコマンドにもバインドされていないキーシーケンスが押されたときに実行されます。
入力すると、デフォルトでビープ音が鳴ります。
取り消す (^_ ^徐 ^X^U)(u) (バインドなし)
最後のテキスト変更を段階的に元に戻します。ユーザー定義の
ウィジェットは、元に戻す履歴の以前の状態を示すオプションの引数を取ります
によって返されたように 変更を取り消す 変数; 変更は元に戻されます
状態に達した場合、 UNDO_LIMIT_NO 変数に保存します.
viコマンドモードから起動した場合、挿入で行われた変更がすべて保存されることに注意してください。
モードは元に戻され、コマンド モードが選択されたときに変更がマージされます。
やり直し (アンバウンド) (^R) (バインドなし)
元に戻したテキストの変更を段階的にやり直します。
vi-元に戻す-変更 (アンバウンド) (アンバウンド) (アンバウンド)
最後のテキスト変更を元に戻します。繰り返した場合は、変更をやり直します。
ビジュアルモード (アンバウンド) (v) (バインドなし)
vimスタイルのビジュアル選択モードを切り替えます。現在行単位のビジュアルモードがオンになっている場合は、
有効にすると文字単位に変更されます。演算子の後に使用した場合、
後続の移動コマンドを文字単位のコマンドとして扱うように強制する。
動き。
ビジュアルラインモード (アンバウンド) (V) (バインドなし)
vimスタイルの行単位のビジュアル選択モードを切り替えます。文字単位のビジュアルモードが
現在有効になっている場合は、行単位に変更されます。
演算子を使用すると、後続の移動コマンドが行単位として扱われるようになります。
動き。
カーソル位置 (^X=)(ga) (バインドなし)
カーソルの下の文字とそのコードを8進数、10進数、16進数で印刷します。
番号、バッファ内の現在のカーソル位置、カーソルの列
現在の行にあります。
どこにいる
エディタコマンドの名前を読み取り、そのコマンドを実行するキーシーケンスのリストを印刷します。
指定されたコマンドを呼び出します。編集機能の制限されたセットが利用可能です
ミニバッファでキーを検索します。キーは特別な command キーマップ、そうでない場合は
メインキーマップ内に見つかります。
which-コマンド (ESC-?) (アンバウンド) (アンバウンド)
バッファをバッファスタックにプッシュし、コマンド`を実行します。which-コマンド CMD'.
コラボレー CMD 現在のコマンドです。 which-コマンド 通常は次のように別名付けられます どこから.
vi 桁または行頭 (アンバウンド) (0) (バインドなし)
最後に実行されたコマンドが引数の一部として数字だった場合、
引数。それ以外の場合は、vi-beginning-of-line を実行します。
テキスト オブジェクト
テキストオブジェクトは、いくつかの条件に従ってテキストブロックを選択するために使用できるコマンドです。
基準。これらはvimテキストエディタの機能であり、主に
vi演算子またはビジュアル選択モードから使用できます。ただし、
vi-insertまたはemacsモード。以下のキーバインディングは、 ヴィオプ ビジュアル キーマップ。
空白の単語を選択 (aW)
隣接する空白を含む単語を選択します。単語とは、
空白以外の文字。数値引数を指定すると、複数の単語が選択されます。
シェルワードを選択 (aa)
通常の引用規則を適用して、現在のコマンド引数を選択します。
単語を選択 (aw)
通常の vi スタイルの単語定義を使用して、隣接する空白を含む単語を選択します。
数値引数を指定すると、複数の単語が選択されます。
空白の単語を選択 (iW)
単語を選択します。単語とは、空白以外の文字の連続として定義されます。
数値引数を指定すると、複数の単語が選択されます。
シェル内の単語を選択 (ia)
通常の引用規則を適用して現在のコマンド引数を選択します。
引数は対応する引用符で始まり、終わりますが、これらは含まれません。
選択。
単語内選択 (iw)
通常のviスタイルの単語定義を使用して単語を選択します。数値引数を指定すると、
複数の単語が選択されます。
キャラクター ハイライト
行エディタには、行内の文字や領域を強調表示する機能があります。
特に重要な意味を持つ。これは配列パラメータによって制御される。 zle_ハイライト、 それであれば
ユーザーによって設定されています。
パラメータに単一のエントリが含まれている場合 なし すべてのハイライト表示がオフになります。
パラメータは依然として配列であることが期待されます。
それ以外の場合は、配列の各エントリは、文脈を示す単語で構成される必要があります。
強調表示、コロン、強調表示の種類をカンマで区切ったリスト
その文脈で適用します。
強調表示に使用できるコンテキストは次のとおりです。
デフォルト
他の強調表示の影響を受けないコマンドライン内のテキスト。テキスト
コマンドラインの編集可能領域外は影響を受けません。
私は検索します
インクリメンタル履歴検索ウィジェットの1つがアクティブになっている場合、
検索文字列またはパターンに一致するコマンド ライン。
地域 カーソル(ポイント)とマークの間の領域は、 マーク設定コマンド.
領域がアクティブである場合にのみ強調表示されます。
マーク設定コマンド or 交換ポイントとマーク 呼び出されたが回線が
その後変更された場合、その領域は呼び出して非アクティブ化できます。
マーク設定コマンド 負の数値引数で、または呼び出して再アクティブ化します
交換ポイントとマーク 数値引数がゼロの場合。
領域がアクティブかどうかはウィジェット内での使用には影響せず、単に
強調表示されているかどうか。
特別
直接印刷可能な表現はないが、
行エディタによって特別な方法で変換されます。これらの文字については以下で説明します。
サフィックス このコンテキストは、接尾辞としてマークされた文字の補完に使用されます。
最も明白な例は、その時点で完了が終了した場合に削除されます
スラッシュ(/)をディレクトリ名の後に付けます。サフィックスの削除は
設定可能。サフィックスが削除される状況は異なる場合がある。
さまざまな補完のために。
paste テキストを貼り付けるコマンドに続いて、挿入された文字。
日時 地域ハイライト 設定されれば、地域を記述する文脈は 私は検索します, 地域,
サフィックス, paste -- が最初に適用され、次に 地域ハイライト が適用されると、
残り zle_ハイライト コンテキストが適用されます。特定の文字が
複数の仕様がある場合は、最後の仕様が優先されます。
zle_ハイライト 端末シーケンスを制御するための追加フィールドが含まれる場合があります
色の変更が出力されます。以下の各項目の後にコロンと文字列が続きます。
キーバインディングと同じ形式です。これはほとんどのアプリケーションでは必要ありません。
括弧内に示すデフォルトは広く使用されている端末です。
fg_スタートコード (\e[3)
前景色のエスケープシーケンスの開始。これに続いて
色を表す ASCII 数字。
fg_デフォルトコード (9)
デフォルトの前景色をリセットするために色の代わりに使用する数値。
fg_end_code (m)
前景色のエスケープ シーケンスの終了。
bg_スタートコード (\e[4)
背景色のエスケープシーケンスの開始。その後に
色を表す ASCII 数字。
bg_default_code (9)
デフォルトの背景色をリセットするために色の代わりに使用する数値。
bg_end_code (m)
背景色のエスケープ シーケンスの終了。
利用可能なハイライトの種類は次のとおりです。すべての種類が利用できるわけではないことに注意してください。
ハイライト表示はすべての端末で利用可能です:
なし 指定されたコンテキストにはハイライトは適用されません。これは役に立ちません。
他の種類の強調表示とともに表示され、デフォルトを上書きするために使用されます。
fg=カラー
前景色は次のように設定する必要があります カラー、10進整数またはその名前
最も広くサポートされている 8 色のうちの 1 つです。
すべての端末がこれをサポートしているわけではなく、サポートしている端末でも、
サポートをテストするため、ユーザーは端末の種類に基づいて決定する必要があります。
端末は色をサポートしています 黒, 赤, (緑字), 黄, 青, マゼンタ, シアン
白、名前で設定できます。さらに。 デフォルト 設定するために使用できる
端末のデフォルトの前景色。省略形も使用できます。 b or bl 選択する
黒。一部の端末では、 大胆な 属性は
また存在します。
最近の端末や最新の端末データベースを備えたシステムでは、
サポートされている色は、コマンド`でテストできます反響 Co';これが成功した場合、
ラインによって強制される色の数の制限を示します
エディター。色の数はいずれの場合も256色(つまり0から
255)。
色はカラーとも呼ばれます。
背景=カラー
背景色は次のように設定します カラーこれは、
前景色、ただし背景は通常太字の影響を受けない
属性。
大胆な 指定されたコンテキスト内の文字は太字で表示されます。すべての端末で太字で表示されるわけではありません。
太字フォントを区別します。
傑出した
指定されたコンテキスト内の文字は、端末のスタンドアウトモードで表示されます。
実際の効果は端末に固有であり、多くの端末では反転ビデオになります。
そのような端末の中には、カーソルが点滅しない箇所に目立つように表示されるものもある。
モードが無効になり、カーソルが実際にどこにあるかがわかりにくくなります。
端末では、他の効果の1つが領域を強調するのに適しているかもしれない
一致した検索文字列。
下線
指定されたコンテキスト内の文字は下線付きで表示されます。一部の端末では、
代わりに前景色を別の色で表示します。この場合、空白は表示されません。
強調表示されます。
上記で「特殊」とされている文字は以下のとおりです。ここで説明する書式は
文字が強調表示されているかどうかに関係なく使用されます。
ASCII制御文字
ASCII範囲の制御文字は`として表示されます^' の後にベースが続く
文字。
印刷できないマルチバイト文字
この項目はASCII範囲外の制御文字とその他の
文字は次のようになります。 マルチバイト オプションが有効の場合、マルチバイト文字
ASCII文字セットに含まれず、幅がゼロであると報告されたものは、
オプションの結合文字として COMBINING_CHARS オンになっています。オプションが
オフの場合、または結合文字が有効でない場所に文字が表示された場合、
文字は印刷不可として扱われます。
印刷できないマルチバイト文字は、角度の間の16進数として表示されます。
括弧。数字はワイド文字セット内の文字のコード ポイントです。
これは、オペレーティング システムに応じて、Unicode である場合とそうでない場合があります。
無効なマルチバイト文字
Status マルチバイト オプションが有効になっている場合、1つ以上のバイトのシーケンスは
現在の文字セットで有効な文字を形成しない場合は、一連の
バイトごとに特殊文字として表示されます。この場合は他のケースと区別できます。
バイトが2桁の16進数として表されるため、印刷できない文字
4桁または8桁の数字とは異なり、角括弧で囲まれています。
現在の文字セットでは有効であるが、印刷できない文字。
すべてのシステムがこれをサポートしているわけではない。これを機能させるには、システムのワイド
文字は、IS0で定義されているユニバーサル文字セットのコード値である必要があります。
10646 (Unicode とも呼ばれます)。
折り返された全角文字
行の最後の列に全角文字が現れる場合は、代わりに
次の行に表示されます。元の位置に残っている空きスペースは
特殊文字として強調表示されます。
If zle_ハイライト 設定されていない場合、または特定のコンテキストに値が適用されない場合は、デフォルト
適用されたものは
zle_highlight=(地域:目立つ スペシャル:目立つ
接尾辞:太字 isearch:下線)
つまり、地域と特殊文字の両方が目立つモードで表示されます。
ウィジェット内では、特別な配列を設定することで任意の領域を強調表示することができます。
パラメーター 地域ハイライト; 上記を参照。
onworks.net サービスを使用して zshzle をオンラインで使用する
