PuTTYキーボードのみを使用してテキストを選択し、テキストをコピーする方法


回答:


71

PuTTYマニュアルから:

PuTTYのコピーアンドペーストは完全にマウスで機能します。テキストをクリップボードにコピーするには、ターミナルウィンドウでマウスの左ボタンをクリックし、ドラッグしてテキストを選択します。ボタンから手を離すと、テキストは自動的にクリップボードにコピーされます。Ctrl- CまたはCtrl- を押す必要はありませんIns。実際、Ctrl-を押すとC、PuTTYはCtrl- C文字をサーバーに送信し、サーバーでプロセスが中断される可能性があります。


9
私の行は24k文字です。どうすればコピーできますか?行の最後の部分、または画面バッファの最初の部分のみを見ることができます。
Gaʀʀʏ

@Gaʀʀʏこのコメントから長い間あなたが移動したことは知っていますが、コピーする24k行がある場合、「クリップボードにすべてコピー」オプションが正当化されると思います。それは確かに私がエッジケースと呼ぶものです。
ショーンオールレッド

@Gaʀʀʏ、ショーンの返信に追加するために、コピーはstdoutからではなく、ターミナルバッファからです。非常に長い行の場合、その行がバッファ自体をオーバーフローした可能性があります。
ysap 16

3
Shift + Insert。
-phocks

26

私の知る限り、選択した領域をマウスを使用せずにパテウィンドウからWindowsクリップボードにコピーする方法はありません。この機能専用の機能リクエストがパテサイトにあります。

http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/keyboard-copy.html

キーボードショートカットを使用して情報パテウィンドウからWindowsクリップボードにコピーする唯一の方法は、アプリのシステムメニュー「クリップボードにすべてコピー」を使用することです(「ウィンドウ>動作>システムメニューは、パテで構成されたALTスペースに表示されます。

Windowsのクリップボードからパテに貼り付けるには、Shift-を使用しInsertます。

ターミナルウィンドウ内でのみコピーと貼り付けが必要な場合は、使用しているシェルのマニュアルページを参照するか、Unix「スクリーン」アプリ(詳細は「マンスクリーン」)の使用を検討してください。ターミナルウィンドウ内でのコピー/貼り付け(viのコピー/貼り付けの動作に似ています)。manページからの抜粋:

   C-a esc     (copy)        Enter copy/scrollback mode.

   C-a ]       (paste .)     Write the contents of the paste buffer to the
                             stdin queue of the current window.

   C-a {
   C-a }       (history)     Copy and paste a previous (command) line.

   C-a >       (writebuf)    Write paste buffer to a file.

   C-a <       (readbuf)     Reads the screen-exchange file into the paste
                             buffer.

   C-a =       (removebuf)   Removes the file used by C-a < and C-a >.

1
@xgMz-私には問題ありません。そのチケットは13年以上前に提出されたものであり、誰もまだそれをしている人はいないことに驚いた。
ArtOfWarfare

リンクが機能するようになりました。
xgMz

25

control+ insert=コピー

shift+ insert=貼り付け


2
これがなぜ投票されたのか分かりません。それは私のために働いた唯一の答えです。私は、パテに貼り付け、それをWindowsでのgvimからコピーしたテキストことをAutoHotkeyをスクリプトを作ることができた、とインタラクティブIPythonセッションでそれを実行します
rsoren

2
control+ insertはまったく何もしないようです。shift+ insertしかし、ペーストを行います。
ArtOfWarfare

3
2016年現在、Windows 7およびPutty 0.63で動作します。ただし、質問には明らかにコピーの選択の設定も含まれています。
stefanct

3
@rsoren-OPはキーボードのみのメソッドを要求します。この回答では、最初にマウスでマークする必要があります。選択された回答によると、マークされると、<Ctrl + Ins>が暗示されます。
ysap 16

Windows 7では動作しません
シェリルホーマン

3

この問題を回避するには、ConEmuSuperPuttyなどのWindowsコンソールの代替でPuTTYを実行します。


1
SuperPuttyでこれをどのように行いますか?
grokster 14年

@sathyaこれはどのように機能しますか?superputtyのパテには何がありますか?
alpha_989

@ Michael-Hampton .. ConEmuでは、キーボードのみでWindowsクリップボードからWindowsターミナルに貼り付けることができますか?
alpha_989

2

GNU画面を使用しますが、

また、vimcでうまく再生するために、これをscreenrcに持っています:

register [ "\033:se paste\015a"
register ] "\033:se nopaste\015a\033"
bind ^] paste [.]

私の友人は、スクリーンに「スクリーンクリップボード」をxクリップボード(選択またはクリップボード)の一方または両方にコピーするフックがあり、パテは必要な翻訳を行うと信じています。掘り下げてみます。

おそらくxclipで同じものを配置できます。探している呪文は使用する必要があります xclip -selection clipboard

xclip -selection clipboard -oクリップボードの内容を吐き出すかどうかをすぐにテストします。


これがPuTTYで機能することを願っています!私は試した。「ディスプレイを開けない」という苦情がありました
ブライアンピーターソン

使用xclipすると動作するはずです。私が使用tmuxしてxsel私はキーボードで、Windowsのターミナルにペーストする方法を見つけ出すためには至っていない。..キーボードを使用してPutyからコピーする
alpha_989

2

これは解決策というよりは回避策の方が多いかもしれません。

vim内で、ビジュアルモードで選択したブロック(通常は多くのページにまたがるブロック)をコピーする場合、ファイルに書き込むことができます(:w filename.txtテキストが選択されている間に、ビジュアルモードにいる間に入力することで))。それができたら、次のことができます。

  1. Sambaにマウントされている場合は、Windowsエディターでファイルを開きます。
  2. ApacheまたはFTPサーバー経由でファイルの内容を読む
  3. ファイルを添付ファイルとしてメールで送信します(以下のコマンドを参照してください-Muttが必要です)。

    echo "My Message Body" | mutt -s "my subject line" -a filename.txt -- recipient@email-server.com
    

個人的にはオプション1を好みます。


2

別のやや一時的な提案は、Windows内でマウスキーをアクティブにすることです。Windows 7では、Ease of Access Centerの下にあります。

  1. 「マウスを使いやすくする」をクリックします。
  2. [マウスキーをオンにする]チェックボックスをオンにします。
  3. 追加の設定については、「マウスキーのセットアップ」をクリックします。

デフォルトのマウスキーホットキーはAlt+ Shift+ NumLockです。

このキーの組み合わせを押してもセッションが妨げられないことを願っています(または、単にAlt+ Tabアウトしてパテの外部からアクティブにします)。テンキーで0を押すとクリックロックが開始され、ハイライト/コピーしたいテキストの部分をドラッグできると思います。


2

セッションの出力をコピーするために、マウスの左ボタンを使用して行ごとにスクロールするのにうんざりしていました。しかし、今、中央のボタンを 2回クリックする必要があります。最初が最初で、2番目が最後です。私がやった方法:

  1. Putty構成ウィンドウに移動します
  2. ウィンドウの左側のカテゴリから「選択」を選択します。
  3. まだ選択されていない場合は、「マウスの使用を制御する」で「妥協(中間に拡張、右貼り付け)」を選択します。

2
質問を読んで理解してから、回答してください。
連珠チャンドランはchingath

これが最良の選択方法であり、Puttyがコピーを処理します。ただし、複数画面のテキストをコピーするには、代わりにcatを使用する必要があると思います。viはカーソルを動かし続けます。
ヌメノン

1

しばらくこれに取り組みましたが、Putty自体はクリップボードだけではコピーできません。

ただし、Puttyはリモート側からのデータの逆伝送を容易にすることができます。VimやTmuxなどのツールを使用してキーボードベースのテキスト選択を行う場合は、出力をファイルにダンプし、(ここで日付を記入して)ローカルに入力をダンプするローカルサービスへのパテ逆ポートトンネルにnetcatできますクリップボード。

ここでこれを行う方法のビデオを作成しました:https : //www.youtube.com/watch?v=RI79eeCuyvEですが、ここに短いバージョンがあります:

R11311をlocalhost:1234に転送するようにパテ>接続> SSH>トンネルを設定します。入力をWindowsクリップボードに送信するwindows 10 clipコマンドに出力をパイプするリスニングサーバーとしてnetcatを使用します。これを次のように永遠のforループでラップします。

for /L %N IN () do nc -lp 1234 | clip

ポートに入札しているため、管理者として実行するコマンドプロンプトで上記を実行します。

リモートの* nixサーバーでは、vimまたはTmuxを使用してテキスト選択をファイルに送信する必要があります。

コマンドを使用して、選択したテキストをファイルに送信します

tmux save-buffer ~/.clipboard

または、Vimを使用してバッファー(この場合はz)をファイルに保存できます

silent! redir! > ~/.clipboard
silent! echo @z
silent! redir END

私はVimを統合し、vimの機能を使用して仲介者として.clipboardファイル使用してクリップボードtmuxの要旨を

ファイルにテキストを選択したら、出力をポートのリモート側にパイプで転送できます。

cat ~/.clipboard | nc 127.0.0.1 11311

またはvimスクリプト内

silent! !cat ~/.clipboard | nc 127.0.0.1 11311 &

netcatの-q 0フラグを正しく動作させることができなかったため、アンパサンドが必要であることに注意してください。たぶんあなたはできる。動作せずに終了するまで1秒待機するため、作業の流れが崩れる可能性があります。アンパサンドを使用すると、プロセスが即座に中止され、バックグラウンドで1秒で完了します。

上記のすべてを行うと、マウスに触れることなく、Tmux、Vim、およびローカルパテクライアントクリップボードが完全に統合されます。これは私がこれを行うことができる唯一の方法でした。


また、OS間の複数行の貼り付けにこれを使用する場合は、DOS / Unixの行末の間で変換することを忘れないでください
トロイフレッチャー

-1

Windowsマシンを使用している場合は正常に動作しますが、Linuxベースのマシンの場合は動作しない場合があります。動作させるには、テキストエディタでコンテンツをコピーし、貼り付けたい行でShift + Insertキーを使用します。

これが役立つことを願っています!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.