インタラクティブなposix bashシェルを使用したいが、オートコンプリートは機能しません。タブ文字を入力すると、タブ文字のみが印刷されます。タブ補完は、posixではなく対話型シェルまたはemacs入力モードを持つposix対話型シェルを使用している場合にのみ機能します。 emacs入力モードが多くぎこちない感じで、vi入力モードもおなじみです。問題は、posixモードとvi入力モードの場合にのみ発生します。この場合、タブキーはシェルにタブスペースのみを印刷します。また、shコマンドを使用してbashを呼び出すと同じ問題が発生します。
これは私の/ etc / inputrcです:
# do not bell on tab-completion
set bell-style audible
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
# Completed names which are symbolic links to
# directories have a slash appended.
set mark-symlinked-directories on
set editing-mode vi
set keymap vi-insert
set mark-modified-lines on
$if mode=emacs
# for linux console and RH/Debian xterm
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# commented out keymappings for pgup/pgdown to reach begin/end of history
#"\e[5~": beginning-of-history
#"\e[6~": end-of-history
"\e[5~": history-search-backward
"\e[6~": history-search-forward
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word
# for rxvt
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line
# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line
$endif
ベストアンサー1
vi
パターンに対してタブ補完を明示的に有効にする必要があります。
"\C-i": complete
存在する.inputrc
。vi-complete
パターンに適した(文書化されていない)コマンドもあることに注意してくださいvi
。