GNU/Linux >> Linux の 問題 >  >> Linux

Readlineワードセパレーターとは何ですか?

Bashで「単語」を削除すると、_などの特定の文字で停止します。 および/ 。たとえば、「

」と入力すると、
/foo/bar

backward-kill-wordをアクティブにします (通常は Altにマップされます –バックスペース および/またはCtrl w )、残りのテキストは

/foo/

。これはではありません $COMP_WORDBREAKSに対応 またはreadlinerl_completer_word_break_characters 。単語の区切りを決定するために使用されている文字を(おそらく、コードのデフォルトではなく、実行中のシステムで)検出するにはどうすればよいですか?

承認された回答:

bashのドキュメントには次のように記載されています:

backward-kill-word (M-Rubout)

ポイントの後ろの単語を殺します。単語の境界は、backward-wordで使用されるものと同じです。

そして

backward-word (M-b)

現在または前の単語の先頭に戻ります。単語は英数字(文字と数字)で構成されています。

backward-wordの処理 Bash 4.2では、バンドルされたlibreadlineコード(text.c:rl_backward_word )。単語区切りはrl_alphabeticに基づいています 、それ自体がisalnumに依存しています 働き。これはロケールに依存しますが、bashで直接構成することはできません。

Bash 4.0では、shell-forward-wordを使用して別の「単語」タイプが導入されたことに注意してください。 およびshell-backward-word アクション(および同等のものを殺す)。これらはシェルメタ文字(()<>;&|" )と空白(おそらくisblankを介してロケールに依存します )、メインのbashコード(bashline.cで処理されます 。


Linux
  1. Linuxのシェルの種類は何ですか?

  2. CloudLinuxの利点は何ですか?

  3. DNS サーバーの種類とは

  1. Linux の Bash 終了コードとは

  2. GCC のデフォルトのインクルード ディレクトリとは?

  3. Bashで有効な識別子(関数、変数など)のルールは何ですか?

  1. DebianとUbuntu:違いは何ですか?

  2. Bashでの$#の使用は何ですか

  3. Linux での export コマンドの役割は何ですか?