でファイルを開こうとするとless
、その内容は画面の上部からではなく、カーソルの位置から始まります。
。
これは gnome-terminal でのみ発生します。たとえば、Terminator ではすべて正常です。どうすれば修正できますか?
答え1
egmont が述べたように、less
カーソルを配置できるはずです。実際、そのための方法があります。manless
ページによると:
オプションは環境変数「LESS」からも取得されます。たとえば、less が呼び出されるたびに「less -options ...」と入力するのを避けるために、csh に次のように指示します。
setenv LESS "-options"
またはshを使用する場合:
LESS="-options"; LESSをエクスポート
less
カーソルを上にして画面を再描画するには、
echo 'LESS="-c"; export LESS' >> ~/.bashrc
-c
「画面をクリアする」オプションは、すべてのコマンドに自動的に追加されless
、TTYでも機能し、画面をクリアしてカーソルの位置を変更します。
答え2
gnome-terminal
terminator
どちらも端末エミュレーションにウィジェットを使用していますが、古い (gtk2 ベースの) ウィジェットを使用vte
しterminator
ています。より正確には、バージョン 0.28.2 (Ubuntu 14.04 と 16.06 の両方)terminator
を使用するのに対し、 Ubuntu 14.04 ではバージョン 0.34.9、Ubuntu 16.04 ではバージョン 0.42.5 を使用します。vte
gnome-terminal
vte
ほとんどのソフトウェアと同様に、新しいバージョンはより安定し、機能が豊富で、バグが少なくなっています (ただし、新しいバグ、リグレッション、ユーザーが好まない変更などが時々紛れ込む可能性があります)。vte
この変更を含め、過去 3 年間で大量の変更 (修正) が行われました。
vte
xterm
は、エミュレーション動作の参照として を使用することを目指しています(非常にまれに発生しますが、分岐する正当な理由がない限り)。 この場合、分岐する理由は見つかりませんでした (また、vte
代替画面に切り替えたときにカーソル位置に関して期待どおりに動作しないという有効なバグレポートがあった可能性があります)。そのため、vte
のように動作するように修正しましたxterm
。
言い換えると、Ubuntu 14.04 のgnome-terminal
、および 14.04 と 16.04 の両方terminator
が壊れていました。正しい動作が によって定義されていると仮定しますxterm
。はバージョンterminator
から大幅に遅れておりvte
、最終的に gtk3 ベースのバージョンがリリースされたときに、この修正プログラム (および他の多くの修正プログラム) が提供されます。
の新しい動作が気に入らないのはわかりますless
(実際、私も気に入らず、古い で偶然動作していた方法の方が好きですvte
)。ただし、意図的に を壊して以前の動作を実現するのは絶対に間違ったアプローチですvte
。代わりに、less
カーソルを画面の上部に配置できる必要があります。現在の動作が本当に気になる場合は、 に対してバグレポート/機能リクエストを提出することをお勧めしますless
。