6

Linux マシンの 1 つで、長い行を作成し、次のように gnu less にパイプします。

seq -w 1 999 | xargs echo | less

gnu (バージョン 394) から表示されるテキストを選択し、lessそれを別の場所にコピーして貼り付けると、長い行が複数の行に分割され、それぞれが端末の幅と同じ長さになります。これは私が期待したものではありません。

別の Linux ボックス (バージョン 444 より前) で同じことを行うと、gnu バッファーから選択し、lessそれを別の場所にコピーして 1 つの長い行として貼り付けることができます。これは望ましい動作です。画像を参照してください:

ここに画像の説明を入力

emacs に貼り付けた場合の効果、最初は不十分な効果、以下は望ましい効果:

ここに画像の説明を入力

両方の Linux ボックスで、catless の代わりに使用してターミナルの出力から選択すると、すべてを 1 行にコピーして貼り付けることもできます。

seq -w 1 999 | xargs echo > /tmp/f
cat /tmp/f

対照的に、両方の Linux ボックスでは、moreコマンドは逆に動作し、コピーと貼り付けを選択すると、長い行が複数の行に分割されます。

seq -w 1 999 | xargs echo > /tmp/f
more /tmp/f

何が起こっているのでしょうか?less私が見たのと同じ一貫した動作でgnuバッファからコピーアンドペーストするにはどうすればよいcatですか?

4

4 に答える 4

2

less の新しいバージョンをコンパイルしたところ、期待どおりに動作するようになりました。

于 2013-09-15T16:58:05.740 に答える