を使用しread
て `単語の後に左矢印を入力すると、次のように←なります。
$ read
word^[[D
それぞれにつながるとキーの場合も同様ですHome。End^[[H
^[[F
←左矢印 ` を使ってそれぞれと書き込んだ内容の先頭と最後から後ろに移動するには、これらの文字をどのように処理する必要がありますか?HomeEnd
答え1
readline
ライブラリは通常これを処理し、inputrc
どのコードが解放されたかを伝えます。シェルをインタラクティブモードで強制すると、これらの機能が有効になります。curses
カーソル移動を完全にサポートするライブラリです(テキストエディタなどが必要な場合)。
しかし、最終的にターミナルは次のようなことを覚えておく必要があります。送信者そして受話器入出力。したがって、カーソルを移動する制御シーケンスを印刷するときは、いつでも画面上のどこにでも書き込むことができるようにカーソルを移動する必要があります。端末は応答する制御順序が異なりますが、次の点を確認してください。これ参考用。