不完全ですが、役に立つかもしれないアイデアがいくつかあります。
方法1-マウス。
端末のスクロールバーを使用します。
詳細(想定xterm
。他の端末では調整が必要です。)
- スクロールバーが有効になっていない場合は有効にします。(では
xterm
、Ctrl + Button2で取得するメニューにあります。)
- オプションで
less
実行されていないことを確認してください-c
(LESS
環境変数でこのオプションを有効にしていますが、これからやろうとしていることと干渉するので、入力-c
する必要があります)。
- 任意の
less
コマンドを使用して、コピーする最初の行が画面に表示されるように上下にスクロールします。
- triple-Button1選択した開始行を選択します。
- コピーする最後の行が画面に表示されるまで下にスクロールします。
/
検索ではなく、スペースバーまたは他の単純なスクロールキーのみを使用する必要があります。ここでのポイントは、less
すべての行を端末に送信してコピーできるようにすることです。
- 選択範囲を拡張するには、選択した終了行のButton3。
考えられる困難:スクロールバックバッファーが十分に大きくない可能性があります。それは中に変更することができるxterm
とのsaveLines
リソースまたは-sl
コマンドラインオプションが、私はすでに実行しているxtermの中でそれを変更する方法を知りません。
方法2-非マウス。
|
(パイプ)コマンドを使用してless
、テキストをに送信しますxclip
。
詳細:
- 任意の
less
コマンドを使用して、画面の一番上にコピーする最後の行を配置するために上下にスクロールします。最後までコピーする場合は、この手順と次の手順をスキップできます。
m
(マーク)コマンドを使用して、選択した終了位置にマークを設定します。マークスは自分で便利な機能であり、あなたはすでにから彼らを知っている必要がありvi
ますが、念のために、あなたはしないでください:mxマーク、セットx
の任意の文字をすることができ、そして'x、後に戻りますが。
- 次に、上にスクロールして、コピーする最初の行が画面の最上部に来るようにします。
- pipeコマンドを使用|xします。外部コマンドを入力するためのプロンプトが表示されます。これ
x
は、m
コマンドで使用したものと同じマーク文字、または$
「最後まで」である必要があります。xclip
そこに入力します。
マニュアルページ全体をコピーする単純なケースはに減少しg|$xclipEnterます。
警告(つまり、私に起こった恐ろしいこと):xclip
半バックグラウンドで、less
プロセスグループの一部として実行されます。サスペンドしようless
として、同じ端末で別のジョブを開始し、そこに貼り付けても、機能しません。その後、man
/ less
ジョブをフォアグラウンドにすると、突然ペーストが表示されます。これはxclip
バグと考えるべきだと思います...