PuTTY comment sélectionner et copier du texte avec le clavier UNIQUEMENT

75

Existe-t-il un moyen de sélectionner un texte avec un clavier comme je le fais normalement en utilisant les touches Maj + flèches.

Flyk
la source
Je pense que c'est impossible. :(
Lucas Jones
Je ne comprends pas. Maj et les flèches sont sur le clavier.
Scott

Réponses:

71

Du manuel PuTTY :

Le copier-coller de PuTTY fonctionne entièrement avec la souris. Pour copier du texte dans le presse-papiers, il vous suffit de cliquer avec le bouton gauche de la souris dans la fenêtre du terminal et de faire glisser le texte pour le sélectionner. Lorsque vous relâchez le bouton, le texte est automatiquement copié dans le Presse-papiers. Vous n'avez pas besoin d'appuyer sur Ctrl- Cou Ctrl- Ins; en fait, si vous appuyez sur Ctrl- C, PuTTY envoie un Ctrl- Ccaractère votre session au serveur où il sera probablement provoquer un processus interrompu.

Asaph
la source
9
Ma ligne est longue de 24k caractères. Comment puis-je le copier? Je ne peux voir que la dernière partie de la ligne ou la première partie sur la mémoire tampon d'écran.
Gaʀʀʏ
@ Gaʀʀʏ Je sais que vous avez depuis longtemps quitté ce commentaire, mais je voudrais juste noter que si j'ai une ligne de 24k à copier, je pense que l'option 'Copier tout dans le presse-papier' est justifiée. C'est certainement ce que j'appellerais un cas de bord.
Sean Allred
@ Gaʀʀʏ, pour ajouter à la réponse de Sean, la copie provient du tampon du terminal et non de stdout. Pour les très longues lignes, il est certainement possible que la ligne ait débordé du tampon lui-même.
Ysap
3
Maj + Insérer.
Phocks
26

pour autant que je sache, il n’existe aucun moyen de copier une zone sélectionnée de la fenêtre du mastic dans le Presse-papiers de Windows sans utiliser la souris. il y a une demande de fonctionnalité sur le site de mastic spécifiquement pour cette fonctionnalité.

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

le seul moyen de copier des informations de la fenêtre du mastic dans le presse-papiers de Windows avec un raccourci clavier consiste à utiliser le menu système de l'application "Copier tout dans le presse-papiers" (que vous pouvez appeler à partir de alt-space, à condition de définir le "Fenêtre> Comportement> Le menu Système apparaît sur l’option ALT-Space "configurée dans le mastic.

Le collage du presse-papier Windows dans le mastic peut être effectué avec Shift- Insert.

Si vous devez copier et coller uniquement à l'intérieur de la fenêtre du terminal, reportez-vous à la page de manuel du shell que vous utilisez ou envisagez d'utiliser l'application "screen" unix ("écran" pour plus d'informations), qui permet la sélection de texte. pour copier / coller dans la fenêtre du terminal (similaire au fonctionnement du copier / coller de vi). un extrait des pages de manuel:

   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 >.
ives
la source
1
@xgMz - fonctionne bien pour moi. Surprenant que ce billet ait été déposé il y a plus de 13 ans et que personne ne l'ait encore fait.
ArtOfWarfare
Le lien fonctionne maintenant.
xgMz
25

control+ insert= copie

shift+ insert= coller

vi_dude
la source
2
Je ne sais pas pourquoi cela a été voté. C'est la seule réponse qui a fonctionné pour moi. J'ai pu créer un script AutoHotkey qui copie le texte de GVim dans Windows, le colle dans Putty et l'exécute dans une session IPython interactive
rsoren
2
control+ ne insertsemble absolument rien faire. shift+ insertfait coller, cependant.
ArtOfWarfare
3
Depuis 2016, il fonctionne avec Windows 7 et Putty 0.63. Cependant, la question inclut apparemment la définition de la sélection pour la copie ainsi que AFAICT.
Stefanct
3
@rsoren - l'OP demande une méthode uniquement au clavier. Cette réponse nécessite un marquage avec la souris en premier. Selon la réponse sélectionnée, une fois marqué, le <Ctrl + Ins> est impliqué.
Ysap
Ne fonctionne pas pour moi sur Windows 7
SherylHohman
3

Pour contourner ce problème, exécutez PuTTY dans un remplacement de console Windows tel que ConEmu ou SuperPutty .

Michael Hampton
la source
1
Comment faites-vous cela dans SuperPutty?
grokster
@sathya comment ça marche? qu'est-ce que superputty ont sur mastic?
alpha_989
@ Michael-Hampton .. ConEmu vous permet-il de coller du presse-papier Windows au terminal Windows avec un clavier uniquement?
alpha_989
2

J'utilise GNU screen,

J'ai aussi ceci dans mon écran pour bien jouer avec vim:

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

Un de mes amis a un crochet dans l’écran pour copier le «presse-papier de l’écran» dans l’un ou les deux (x) presse-papiers (sélection ou dans le presse-papiers) et je crois que putty fait les traductions nécessaires. Je vais essayer de le creuser.

Vous pouvez probablement organiser la même chose avec xclip, l’incantation que vous cherchez devrait utiliser xclip -selection clipboard

Je teste rapidement pour voir si xclip -selection clipboard -ocrache le contenu de votre presse-papiers.

richo
la source
Je souhaite que cela a fonctionné dans PuTTY! J'ai essayé. Il s'est plaint de "ne peut pas ouvrir l'affichage"
Brian Peterson
Utiliser xclipdevrait fonctionner. J'utilise tmuxet je xselcopie depuis Puty en utilisant des claviers .. Je n'ai pas encore compris comment coller dans le terminal Windows avec le clavier
alpha_989
2

Cela peut être plus une solution de contournement qu'une solution.

Dans vim, si vous souhaitez copier un bloc que vous avez sélectionné en mode visuel (généralement un bloc couvrant plusieurs pages), vous pouvez l'écrire dans un fichier (en le saisissant tant :w filename.txtque le texte est sélectionné et que vous êtes toujours en mode visuel.) ). Une fois que vous avez fait cela, vous pouvez:

  1. Ouvrez le fichier dans un éditeur Windows s'il est monté sur Samba.
  2. Lire le contenu du fichier via Apache ou un serveur FTP
  3. Envoyez le fichier en pièce jointe par e-mail (voir la commande ci-dessous - requiert Mutt):

    echo "My Message Body" | mutt -s "my subject line" -a filename.txt -- [email protected]
    

Personnellement, je préfère l'option 1.

Homer6
la source
2

Une autre suggestion quelque peu improvisée consiste à activer les touches de la souris dans Windows. Dans Windows 7, il s’agit de la facilité d'accès.

  1. Cliquez sur "Rendre la souris plus facile à utiliser".
  2. Cochez la case "Activer les touches de la souris".
  3. Cliquez sur "Configurer les touches de la souris" pour obtenir des paramètres supplémentaires.

Le raccourci clavier par défaut de la souris est Alt+ Shift+ NumLock.

Espérons que cette combinaison de touches n'interférera pas avec votre session (ou juste Alt+ Tabout et l'activer de l'extérieur mastic). Je pense que si vous appuyez sur 0 sur le pavé numérique, un verrou de clic est activé, ce qui vous permet de faire glisser la partie du texte que vous souhaitez mettre en surbrillance / copier.

Phénix blanc
la source
2

J'en avais marre de faire défiler ligne par ligne avec le bouton gauche de la souris pour copier le résultat de la session. Mais maintenant, je dois cliquer deux fois sur le bouton du milieu . premier au début et deuxième à la fin. Comment j'ai fait:

  1. Aller à la fenêtre de configuration de mastic
  2. Choisissez "Sélection" dans la catégorie à gauche de la fenêtre.
  3. Sous "Contrôle de l'utilisation de la souris", choisissez "Compromis (extension moyenne, pâtes droites)" si ce n'est déjà fait.
sédat
la source
2
Veuillez lire et faire comprendre la question, puis essayez d'y répondre.
Renju Chandran chingath
C'est la meilleure façon de sélectionner, et Putty se charge de la copie. Pour copier plus d'un écran de texte, cependant, je pense que vous devez plutôt utiliser cat à la place. vi continue de déplacer le curseur.
Noumenon
1

Travaillé sur cela pendant un moment, et Putty lui-même ne peut pas vous laisser copier uniquement avec le presse-papiers.

Cependant, Putty peut faciliter la transmission inverse des données du côté distant. Si vous utilisez un outil tel que Vim ou Tmux pour faire des sélections de texte au clavier, vous pouvez dump la sortie dans un fichier et (en me datant ici) netcat dans un tunnel de port reverse putty vers un service local qui dumpe l'entrée vers le fichier local. presse-papier.

J'ai fait une vidéo expliquant comment faire cela ici: https://www.youtube.com/watch?v=RI79eeCuyvE , mais voici la version courte:

Configurez votre mastic> connexion> SSH> tunnels pour transférer R11311 vers localhost: 1234 Utilisez netcat comme serveur d’écoute qui dirige la sortie vers la commande de clip 10 de windows qui envoie des entrées au presse-papiers de Windows. Enveloppez ceci dans une boucle éternelle comme ceci:

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

Exécutez ce qui précède dans une invite de commande que vous exécutez en tant qu'administrateur, car vous vous dirigez vers un port.

Sur le serveur * nix distant, vous devez utiliser vim ou Tmux pour envoyer des sélections de texte à un fichier.

Utilisez une commande pour envoyer votre sélection de texte dans un fichier

tmux save-buffer ~/.clipboard

Ou, vous pouvez utiliser Vim pour enregistrer un tampon (dans ce cas, z) dans un fichier

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

J'intègre les presse-papiers vim et tmux en utilisant le fichier .clipboard comme intermédiaire en utilisant un gist de fonction vim .

Une fois que votre sélection de texte est dans le fichier, vous pouvez diriger la sortie vers le côté distant du port suivant:

cat ~/.clipboard | nc 127.0.0.1 11311

Ou dans un script vim

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

Notez que l'esperluette est nécessaire car je ne pouvais pas faire en sorte que l' -q 0indicateur netcat fonctionne correctement. Peut-être que tu peux. Sans cela, il attend une seconde avant de fermer, ce qui peut interrompre votre travail. Avec l'esperluette, il abandonne instantanément le processus, qui se termine en 1 seconde en arrière-plan.

Faire tout ce qui précède intégrera pleinement les presse-papiers des clients Tmux, Vim et du mastic local sans toucher à la souris! C’était la seule façon pour moi de faire cela.

Troy Fletcher
la source
De plus, si vous l'utilisez pour des pâtes multilignes entre systèmes d'exploitation, n'oubliez pas de convertir les fins de ligne DOS / Unix
Troy Fletcher le
-1

Si vous êtes sur une machine Windows, cela fonctionnera correctement, mais si dans le cas d’une machine Linux, cela ne fonctionnera pas. Pour que cela fonctionne, il suffit de copier le contenu dans n’importe quel éditeur de texte et d’appuyer simplement sur Maj + Inser à la ligne où vous souhaitez coller.

J'espère que cela aiderait!

nikhil bangar
la source