私が使用している古いサーバーでは、修正された FreeBSD 6.1 と bash 2.05b.0(1)-release が実行されています。
「上」キーを押すと、履歴の最後のコマンドがポップアップ表示されますが、最後のシンボルにアクセスできません。文字列は実際には表示されている文字より 1 文字短いためです。そのため、バックスペースは役に立たず、削除すると最後の数文字が壊れてしまいます。
ターミナルは、次の互換性オプションを備えた「ターミネーター」です。
- バックスペースキーは次を生成します: Control-H
- Deleteキーはエスケープシーケンスを生成します
これがこのバージョンの bash の通常の動作なのか、それとも何らかの設定ミスや端末の互換性の問題なのか疑問に思いました。
Bash オプションは次のとおりです。
# set -o
allexport off
braceexpand on
emacs off
errexit off
hashall on
histexpand on
history on
ignoreeof off
interactive-comments on
keyword off
monitor on
noclobber off
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
posix off
privileged off
verbose off
vi on
xtrace off
答え1
結局viモードシステム上のすべてのユーザーに対して .inputrc で有効にされました。ただし、これは私が慣れている zsh の vi モードとは少し異なる動作をします。つまり、1) 「上」を押すとすぐにコマンド モードに入り、2) 挿入モードに入るには「a」または「i」をダブルタップする必要があります。