home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

技術/Linux/readline, inputrc, ビープ音オフ (v1)

技術/Linux/readline, inputrc, ビープ音オフ (v1)

技術 / Linux / readline, inputrc, ビープ音オフ (v1)
id: 346 所有者: msakamoto-sf    作成日: 2003-04-12 10:34:34
カテゴリ: Linux UNIX 

readlineとは、CUIプログラムにおいてコマンド履歴機能やTABキーによる補完機能を実現するのに使われるGPLライブラリ。
inputrcはreadlineの設定ファイル。

デフォルトのキーバインドはEmacsとよく似ている。
bash上からは以下のコマンドでキーバインドをemacs風/vi風に切り替えることが出来る。

$ set -o vi     # vi風のキー・バインドに変更
$ set -o emacs  # emacs風のキー・バインドに変更

設定ファイル(inputrc)の読み込み順序は以下の通り。

  1. INPUTRC環境変数が設定されていれば、そのファイルを読み込む。
  2. INPUTRC環境変数が未設定であれば、$HOME/.inputrc を読み込む。

inputrcの変更を反映するには、readlineをリンクしているプログラムを再起動するか、bashであれば"C-x C-r"を入力する。

inputrcの書式は「set 変数名 値」の順になる。値は「on」か「off」のどちらかが多い。

キー・バインド(editing-mode)
set editing-mode vi (vi風)
set editing-mode emacs (emacs風)
補完時の大文字・小文字を無視(completion-ignore-case)
set completion-ignore-case on (無視)
set completion-ignore-case off (無視しない)
日本語対応(-meta)
set output-meta on
set input-meta on
set convert-meta off
ブザーを鳴らす(ビープ音)・鳴らさない(bell-style)
set bell-style visible
# audible : ビープ音を鳴らす。
# none : 鳴らさない。
# visible : 鳴らさない代わりに画面を点滅。
その他の変数
  • expand-tilde : 「on」だと「~/.inputrc」は「/home/user/.inputrc」と表示される。
  • mark-directories : 「on」にするとディレクトリ名の補完時に最後にスラッシュ「/」がつく。
  • match-hidden-files : 「on」にすると、「.」から始まる隠しファイルも補完対象になる。
  • show-all-if-ambiguous : 複数の補完候補があった場合に、Tabキーを一回押しただけで補完候補の一覧を表示するかどうか。デフォルトは"off"。
  • visible-status : 補完候補を表示する際に、ファイルタイプを示す文字(「/」や「*」など)をファイル名に付けるかどうかを設定する。デフォルトは"off"。

参考URL :

readlineはGPL。NetBSDにおいては、BSDライセンスによる同等のライブラリ、libeditを開発した。
現在、sf.net上にNetBSDよりスピンアウトして独立したlibeditプロジェクトがある。
http://sourceforge.net/projects/libedit/

GPLの制限を逃れる為のもう一つの方策として、"rlwrap"というOSSも出現した。
http://freshmeat.net/projects/rlwrap

$ rlwrap ruby

のように実行する。引数をforkした子プロセスにて実行し、自身は入出力ファイルディスクリプタのI/Oを子プロセスに流し込むブリッジになる。



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-19 10:42:14
md5:6c2bf7809511eae9b54874012c56ee6d
sha1:8536ede840b83b73a69f5230e0f65c13b33b9e4e
コメント
コメントを投稿するにはログインして下さい。