GNU Screenを使用する場合、scrollback bufferとも呼ばれます"copy mode"Ctrl+a+[
コマンド。
space
を押してテキストを選択し、space
をもう一度押すと、テキストをcopy bufferにコピーできます。
このテキストをスクリーンコピーバッファからXクリップボードにコピーする方法はありますか?
私の場合、gnomeとXorgでUbuntu 12.04を使用しています。
xsel
または pbpaste
などのCLIクリップボードツールとcat
ユーティリティを使用して、STDINからコンテンツを取得できます。 Linuxでxsel
を使用する手順は次のとおりです。
cat | xsel -b
xsel
がエラーを報告しなかった場合、画面のコピーバッファーをSTDINにダンプします:Ctrl+a+]
cat
に送信して終了します:Ctrl+d
この時点で、画面コピーバッファーの内容はクリップボードにあるはずです。
編集:すべてのXプログラムと同様に、xsel
はクリップボードにアクセスするためにXサーバーに連絡する方法を知る必要があります。 DISPLAY
環境変数を適切に設定する必要があります。
これを行うには、より簡単で手作業の少ない方法があります。画面の.rcファイルに、次の行を追加します。
bindkey -m ' ' eval 'stuff \040' 'writebuf' 'exec sh -c "/usr/bin/pbcopy < /tmp/screen-exchange"'
コピー機能の使用方法:
screen -c path/to/screen/config.rc
この回答はOS Xに適用されます。
必要なテキストをGNU コピーモード を使用してスクリーンペーストバッファにコピーした後、次の手順を実行します。
pbcopy <enter>
と入力します。Ctrl-a ]
)を使用して、テキストを端末に貼り付けます。<enter>
を押して改行します。Ctrl-d
を押してpbcopy
にテキストをシステムのクリップボードにプッシュさせます。その後、Command-v
または同等のメニューオプションを使用して、OS Xの他の場所にテキストを貼り付けることができます。
この回答は、コピーされたバッファの内容をすぐに貼り付けることが最終目標であるシナリオでのみ機能します。
これを行う最も簡単な方法は、画面を2つの領域に分割することです。これを行うには CTRL+a それから |「これはiではありません。キーボードのパイプ記号です」
ヒット CTRL+a それから TAB 2番目の地域に切り替えるには、 CTRL+a それから c 2番目の領域に新しいセッションを作成します。
Nanoからコピーしてターミナルに貼り付ける場合は、左側の領域でnanoのファイルを開き、ヒットします CTRL+a それから ESC、コピー場所の開始点までスクロールしてヒット SPACE、エンドポイントまでスクロールしてテキストを選択し、ヒット SPACE もう一度コピーをマークします。
今、あなたがしなければならないのはヒットです CTRL+a それから TAB 右側の地域に切り替えてヒットする CTRL+a それから ]。
テキストはコマンドラインに書き出されます。ファイルに直接書き込む場合は、ハードコピーオプションを確認することもできます。