bashの補完機能を強化&bashを賢く使う

bashの補完機能を強化

参考1:http://appling.jp/p_blog/article.php?id=406
参考2:http://www.crimson-snow.net/tips/unix/bash.html


入力補完設定ファイル
コマンドごとに入力補完の候補が変わる「bash-completion」はUbuntuにはデフォルトで入ってる模様


大文字/小文字を無視
.inputrcに以下の一行を追加
Ubuntuではデフォルトで.inputrcがないので作成

set completion-ignore-case on

保存

$ source .inputrc

じゃ読み込まなかったので端末を再起動


コマンド履歴補完を賢くする
途中まで入力したとき,前方が入力と一致するものだけを履歴として表示する
.inputrcに以下を追加

"\C-n": history-search-forward
"\C-p": history-search-backward
"\e[A": history-search-backward
"\e[0A": history-search-backward
"\e[B": history-search-forward
"\e[0B": history-search-forward

"\C-n"はCtrl+n,"\C-p"はCtrl+p
"\e[A"は,"\e[B"は
"\e[0A"と"\e[0B"は何なのか不明


.bashrcに以下を追加してもなるようだが,こっちは未確認

bind '"\e[A": history-search-backward'
bind '"\e[0A": history-search-backward'
bind '"\e[B": history-search-forward'
bind '"\e[0B": history-search-forward'

bashを賢く使う

参考1:http://blog.miraclelinux.com/ctd/2006/08/alt_53f1.html
参考2:http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html


Alt+.でコマンド履歴の引数を遡れる
.を押せばどんどん遡っていける
Alt+,は直前のコマンドの引数を挿入
Alt+Backspaceで引数を単語単位で削除可能
Ctrl+aでカーソルを先頭に移動
Ctrl+eでカーソルを末尾に移動
Ctrl+uでカーソルより前を削除
Ctrl+kでカーソルより後ろを削除


Altが押しづらいのでキーバインドを変更
.inputrcに以下を追加

"\C-d": backward-kill-word

Ctrl+.Ctrl+Backspaceは設定出来なかった