Bashのinputrc設定(Tab補完時の挙動)について
bashでのTab補完の挙動についての個人的な設定
~/.inputrc
で以下のように設定している。
~/.inputrc
は/etc/inputrc
をコピーして作成。
set bell-style none
set show-all-if-ambiguous on
set completion-query-items 0
set page-completions off
設定の解説
(1) bell-style none
端末側の設定にもよるが、Tab補完候補がない場合にビープ音が鳴ったりビジュアルベルが反応したりする。これをOffする。
(2) show-all-if-ambiguous on
デフォルトの挙動はコマンド入力中にTabを1回押すと単語が部分的に補完され、補完候補が多い場合などはもう2回Tabを押すと補完候補が表示される。計3回も押す必要がある。
show-all-if-ambiguous on
と設定すると、1回Tabを押すだけで全候補表示まで行う。
(3) completion-query-items 0
補完候補が多い場合に全て表示するかどうか毎回質問される。この機能をOffする。
$ ls /etc/
Display all 217 possibilities? (y or n)
(4) page-completions off
bashのデフォルトでは補完候補が多いときに1pageで表示しきれないためpagerで開こうとする。この機能をOffする。
$ ls /sbin/
ModemManager fsck.btrfs mke2fs swaplabel
NetworkManager fsck.cramfs mkfs swapoff
aa-remove-unknown fsck.ext2 mkfs.bfs swapon
aa-status fsck.ext3 mkfs.btrfs switch_root
aa-teardown fsck.ext4 mkfs.cramfs sysctl
accessdb fsck.fat mkfs.ext2 tarcat
add-shell fsck.minix mkfs.ext3 tc
--More--
自動でmore
コマンドが適用されてQを押して閉じるのが鬱陶しかったりする
ちなみに
- zshを使えばこんな細かい設定を調べたりしなくても大体全て解決する気がしている
参考: