Antworten:
Aus dem PuTTY-Handbuch :
Das Kopieren und Einfügen von PuTTY funktioniert vollständig mit der Maus. Um Text in die Zwischenablage zu kopieren, klicken Sie einfach mit der linken Maustaste auf das Terminalfenster und ziehen Sie, um Text auszuwählen. Wenn Sie die Taste loslassen, wird der Text automatisch in die Zwischenablage kopiert. Sie müssen nicht Ctrl- Coder Ctrl- drücken Ins. wenn Sie in der Tat, drücken Sie tun Ctrl- C, senden PuTTY ein Ctrl- CZeichen Sie Ihre Sitzung auf dem Server , auf dem es wird wahrscheinlich ein Prozess dazu führen , unterbrochen werden.
Soweit mir bekannt ist, gibt es keine Möglichkeit, einen ausgewählten Bereich ohne die Maus aus dem Kittfenster in die Windows-Zwischenablage zu kopieren. Auf der Kitt-Site gibt es eine Funktionsanforderung speziell für diese Funktionalität.
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/keyboard-copy.html
Die einzige Möglichkeit, Informationen aus dem Kittfenster mit einer Tastenkombination in die Windows-Zwischenablage zu kopieren, besteht darin, das App-Systemmenü "Alles in die Zwischenablage kopieren" zu verwenden (das Sie aus dem Alt-Space aufrufen können, sofern Sie "Fenster> Verhalten>" eingestellt haben Das Systemmenü wird in der Option ALT-Space angezeigt, die in putty konfiguriert ist.
Das Einfügen aus der Windows-Zwischenablage in Putty kann mit Shift- erfolgen Insert.
Wenn Sie nur innerhalb des Terminalfensters selbst kopieren und einfügen müssen, lesen Sie entweder die Manpage für die von Ihnen verwendete Shell oder verwenden Sie die Unix-App "screen" (für weitere Informationen "man screen"), mit der Sie Text auswählen können zum Kopieren / Einfügen innerhalb des Terminalfensters (ähnlich wie das Kopieren / Einfügen von vi funktioniert). ein Auszug aus den Manpages:
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 >.
control+ insert= kopieren
shift+ insert= einfügen
control
+ insert
scheint absolut nichts zu tun. shift
+ insert
fügt allerdings ein.
Führen Sie PuTTY in einem Windows-Konsole-Ersatz wie ConEmu oder SuperPutty aus, um dieses Problem umzugehen .
Ich benutze GNU-Bildschirm,
Ich habe auch dieses in meinem screenrc, zum mit vim nett zu spielen:
register [ "\033:se paste\015a"
register ] "\033:se nopaste\015a\033"
bind ^] paste [.]
Ein Freund von mir hat einen Haken im Bildschirm, um die "Bildschirm-Zwischenablage" in eine oder beide der x Zwischenablagen (Auswahl oder Zwischenablage) zu kopieren, und ich glaube, dass Putty die benötigten Übersetzungen macht. Ich werde versuchen, es auszugraben.
Sie können wahrscheinlich dasselbe mit xclip arrangieren, die gesuchte Beschwörung sollte verwendet werden xclip -selection clipboard
Ich würde schnell testen, ob xclip -selection clipboard -o
der Inhalt Ihrer Zwischenablage ausspuckt.
xclip
sollte funktionieren. Ich benutze tmux
und xsel
zu kopieren von Puty mit Tastaturen .. Ich habe noch nicht herausgefunden, wie man mit der Tastatur in das Windows-Terminal
Dies ist möglicherweise eher eine Problemumgehung als eine Lösung.
Wenn Sie in vim einen Block kopieren möchten, den Sie im visuellen Modus ausgewählt haben (normalerweise einen Block, der viele Seiten umfasst), können Sie ihn in eine Datei schreiben (indem Sie eingeben, :w filename.txt
während der Text ausgewählt ist und Sie sich noch im visuellen Modus befinden) ). Sobald Sie das getan haben, können Sie:
Senden Sie die Datei als Anhang per E-Mail (siehe Befehl unten - erfordert Mutt):
echo "My Message Body" | mutt -s "my subject line" -a filename.txt -- recipient@email-server.com
Persönlich bevorzuge ich Option 1.
Ein weiterer, etwas provisorischer Vorschlag ist, Maustasten in Windows zu aktivieren. In Windows 7 ist es unter dem Ease of Access Center.
Der Standard-Hotkey für Maustasten ist Alt+ Shift+ NumLock.
Hoffentlich trifft diese Tastenkombination nicht mit Ihrer Sitzung stören (oder nur Alt+ Tabaus und aktivieren Sie es von außen Kitt). Ich glaube, das Drücken von 0 auf dem Nummernblock startet eine Klick-Sperre, mit der Sie über den Teil des Texts ziehen können, den Sie hervorheben / kopieren möchten.
Ich hatte es satt, Zeile für Zeile mit der linken Maustaste nach unten zu scrollen, um die Sitzungsausgabe zu kopieren. Aber jetzt muss ich zweimal auf den mittleren Knopf klicken ; zuerst am Anfang und zweitens am Ende. Wie ich gemacht habe:
Wir haben eine Weile daran gearbeitet, und Putty selbst kann nicht zulassen, dass Sie nur mit der Zwischenablage kopieren.
Putty kann jedoch die umgekehrte Übertragung von Daten von der Remote-Seite ermöglichen. Wenn Sie ein Tool wie Vim oder Tmux verwenden, um auf der Tastatur basierende Textauswahlen zu treffen, können Sie die Ausgabe in eine Datei und (ich datiere hier) netcat in einen Putty-Reverse-Port-Tunnel zu einem lokalen Dienst übertragen, der die Eingaben in den lokalen Dienst überträgt Zwischenablage.
Ich habe hier ein Video dazu gemacht: https://www.youtube.com/watch?v=RI79eeCuyvE , aber hier ist die Kurzversion:
Stellen Sie Ihren putty> connection> SSH> tunnel so ein, dass R11311 an localhost weitergeleitet wird: 1234 Verwenden Sie netcat als Listening-Server, der die Ausgabe an den Windows 10-Befehl clip weiterleitet, der Eingaben an die Windows-Zwischenablage sendet. Wickle dies in eine ewige for-Schleife wie folgt:
for /L %N IN () do nc -lp 1234 | clip
Führen Sie das Obige an einer Eingabeaufforderung aus, die Sie als Administrator ausführen, da Sie sich auf einen Port verstecken.
Auf dem entfernten * nix-Server müssen Sie vim oder Tmux verwenden, um eine Textauswahl an eine Datei zu senden.
Verwenden Sie einen Befehl, um Ihre Textauswahl an eine Datei zu senden
tmux save-buffer ~/.clipboard
Sie können Vim auch verwenden, um einen Puffer (in diesem Fall z) in einer Datei zu speichern
silent! redir! > ~/.clipboard
silent! echo @z
silent! redir END
Ich binde die vim- und tmux-Zwischenablagen mithilfe der .clipboard-Datei als Vermittler mithilfe einer vim-Funktion ein .
Sobald sich Ihre Textauswahl in der Datei befindet, können Sie die Ausgabe an die Remote-Seite des Ports weiterleiten:
cat ~/.clipboard | nc 127.0.0.1 11311
Oder in einem VIM-Skript
silent! !cat ~/.clipboard | nc 127.0.0.1 11311 &
Beachten Sie, dass das kaufmännische Und erforderlich ist, da ich das netcat- -q 0
Flag nicht ordnungsgemäß verwenden konnte. Vielleicht können Sie. Wenn es nicht funktioniert, wartet es eine volle Sekunde, bevor es geschlossen wird, was den Arbeitsfluss unterbrechen kann. Mit dem kaufmännischen Und wird der Vorgang sofort abgebrochen, der im Hintergrund in 1 Sekunde abgeschlossen ist.
Wenn Sie alle oben genannten Schritte ausführen, werden die Zwischenablagen von Tmux-, Vim- und lokalen Putty-Clients vollständig integriert, ohne dass Sie eine Maus berühren müssen! Dies war der einzige Weg, den ich finden konnte, um dies zu tun.
Wenn Sie auf einem Windows-Computer arbeiten, funktioniert dies einwandfrei. Wenn Sie jedoch einen Linux-basierten Computer verwenden, funktioniert dies manchmal nicht. Kopieren Sie dazu einfach den Inhalt in einen beliebigen Texteditor und verwenden Sie die Tastenkombination Umschalt + Einfügen in der Zeile, in der Sie den Inhalt einfügen möchten.
Hoffe das würde helfen!