Solaris Home/End キーが Debian / Ubuntu のように動作しない

Solaris Home/End キーが Debian / Ubuntu のように動作しない

Solaris システムに接続するために putty を使用しています。

私はただのユーザーです(ルート権限はありません)。システムについて私が知っていることはすべて

Oracle Corporation SunOS 5.11 11.1 2014年1月

私の問題はキーボードの設定から来ています。Ubuntuのようにカーソルを移動するのではなく、キーがinsert/home/pageup/pagedown/end/deleteすべて表示されます。~

インターネットで見つけたトリックをすでにたくさん試しましたが、何も機能しません。

echo $TERM提供されxterm、putty は xterm で適切に構成されます。

何をしたらいいのか分からない。

答え1

代替キー マッピングをサポートするには、GNU readline ライブラリのinputrcinit ファイルを使用できます。

.inputrc各ユーザーは、ホーム ディレクトリに独自のファイルを持つことができます。または、global を使用して/etc/inputrcすべてのユーザー用に設定することもできます。


現在のキー マップを確認するには、逐語モード ( Ctrl-v) に続けてマップするキーを入力します。これにより、shellキーの解析と実行が回避され、キー シーケンスが提供されます。

例えば

Ctrl-v Home
^[[1~

シーケンスはキー^[と同等なので[Esc]、 としてマッピングする必要がありますe\

新しいマップをテストするには、次のbindコマンドを使用します。

bind '"\e[1~": beginning-of-line'

これが機能したら、bindコマンドをシェル プロファイルに追加するか、すべてのマップを.inputrcファイルに追加できます。


のためにDebian / Ubuntuベースのキーマッピングを使用する場合は、個人~/.inputrcファイルに次のコードを追加します。

# for linux console and RH/Debian xterm
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
"\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

その後、再度ログインするか、新しいシェルを起動します。

関連情報