gnuplot 対話型端末の Home キーと End キーはカーソルを移動しません。

gnuplot 対話型端末の Home キーと End キーはカーソルを移動しません。

gnuplotとインタラクティブに作業するとき、homeキーとendキーはカーソルを行の先頭と終わりに移動せず、代わりにそれぞれ「OH」と「OF」の文字を生成します。その理由は何であり、カーソルをコマンドの開始と終了に移動するにはどうすればよいですか?

答え1

readlineライブラリに関しては、GNUとUbuntu / Debianの間にライセンス問題があります。この修正により、ソースから gnuplot をコンパイルし、HOME、END、CTRL+左矢印、CTRL+右矢印キーを使用できます。

これはOH、OF、1; 5D、1; 3Dなどを生成しません。

./configure --with-readline=/lib/x86_64-linux-gnu/libreadline.so.6
make
make install

注:

./configure --with-readline=gnu

私には適していません。

答え2

行の始まりと終わりに移動することに対する答えの一部です。バラよりヘルプラインの編集、gnuplotの正しいショートカットを学ぶには。したがって、行のCtrlA先頭と末尾に移動を使用してください。CtrlE

      `Line-editing`:
       ^B    moves back a single character.
       ^F    moves forward a single character.
       ^A    moves to the beginning of the line.
       ^E    moves to the end of the line.
       ^H    and DEL delete the previous character.
       ^D    deletes the current character.
       ^K    deletes from current position to the end of line.
       ^L,^R redraws line in case it gets trashed.
       ^U    deletes the entire line.
       ^W    deletes from the current word to the end of line.

あなたの場合、なぜそれが表示されるのか説明できませんが、リンクされたページが表示されます(このメッセージはバージョンに関連しているようです)

(のreadline関数は、gnuplotGNU BashやGNU Emacsで使用されているreadlineとは異なります。GNUバージョンが必要な場合は、コンパイル時バージョンのgnuplot代わりにそれを選択できます。)

答え3

gnuplotはGNUプロジェクトではありませんが、それ以降はその名前で開発されました。1986年、GNU宣言(1985)が出版された直後を振り返ります。実際のGNUプロジェクトその時代はいつか始まりました(様々な日付を見たことがあります)。

GNUプロジェクトではないため、GNUライセンスを使用する理由はありません。本当に、著作権通知編集および連絡先情報にはいくつかの制限がありますが、許可されています。

 Permission to modify the software is granted, but not the right to
 distribute the complete modified source code.  Modifications are to be
 distributed as patches to the released version.  Permission to distribute
 binaries produced by compiling modified sources is granted, provided you
   1. distribute the corresponding source modifications from the released
      version in the form of a patch file along with the binaries,
   2. add special version identification to distinguish your version in
      addition to the base release version number,
   3. provide your name and address as the primary contact for the support
      of your modified version, and
   4. retain our contact information in regard to use of the base software.
 Permission to distribute the released version of the source code along
 with corresponding source modifications in the form of a patch file is
 granted with same provisions 2 through 4 for binary distributions.

GPLは事後動的リンク解析を含む独自の制限を超えるすべての制限を禁止するため、readline(現在のGPLv3)を使用してgnuplot用の実行可能ファイルを配布することはできません。

この問題はDebianとその派生製品(Ubuntuなど)に限定されていませんが、Debianはライセンスの他の組織よりも慎重です。README.Debiangnuplot コメントファイル

Yes, the built in readline of gnuplot is bad. However, libreadline
cannot be used instead because it is licensed under the GPL, whereas
gnuplot has special licenses (patches only). Distribution of those
programs linked together is legally impossible but you may rebuild
your own custom package with readline. Please don't file bugs telling   
me to use libreadline in gnuplot...

Debian は gnuplot を libedit に関連付けます。ジェームズビーグラーのページ〜のように

libeditはGNU readlineコマンドライン編集機能を置き換えるか置き換えます。 libeditはBSDスタイルのライセンスでリリースされているので、独自のコードで利用できます。

質問で尋ねるような単純な作業にはlibeditで十分です。しかし読んだ内容はその他readlineの代わりに~/.editrc設定.inputrcファイルを使用してください。関連するマニュアルページが役に立ちます。libedit-devパッケージインストールする):

OPが直面している即時の問題は、ホーム/エンドキーを認識できないことです。 libeditはターミナルデータベースから関連情報を取得しようとしますが(readlineのように)xtermの類似点のいくつかはxtermのファンクションキーと一致しません。 。設定(時間の半分が間違っています)。

ライブラリを改善する代わりに、人々は設定を.inputrcファイルに貼り付けて問題を解決しました。 libeditを使用すると、ファイル操作を再開できます.editrc

追加資料:

答え4

これは私のために働いたが、インストール後にリードラインの開発:

./configure --with-readline=gnu
make
make install

確認できますLDD正しい readline ライブラリに関連付けます。

関連情報