2013-05-24 13 views
14

Ich habe derzeit eine vim Sitzung in Putty geöffnet, und ich habe alles in der Datei über den visuellen Modus ausgewählt. Normalerweise würde ich entweder "+y oder "*y verwenden, aber keiner dieser Befehle funktioniert.Kopieren von Putty/Vim visuellen Modus in Windows-Zwischenablage

Hier ist meine vimrc:

call pathogen#infect() 

set noswapfile 

set mouse=" 

set ts=4 
set wildmenu 
set wildmode=list:longest,full 

colorscheme evening 

set expandtab 
set smarttab 

" Stuff from github: 
set ts=4 
set wildmenu 
set wildmode=list:longest,full 
set number 

" This shows what you are typing as a command. I love this! 
set showcmd 

" Who doesn't like autoindent? 
set autoindent 

" Spaces are better than a tab character 
set expandtab 
set smarttab 

" Who wants an 8 character tab? Not me! 
set shiftwidth=3 
set softtabstop=3 

" Ignoring case is a fun trick 
set ignorecase 

" When I close a tab, remove the buffer 
set hidden 

" Set word wrapping 
set linebreak 

" Use filetype specific indentation 
filetype on 
filetype plugin on 
filetype indent on 

" Disable auto commenting 
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o 

Antwort

5

Wenn Sie eine Verbindung mit einem Remote-System mit PuTTY (mit SSH nehme ich an) und Sie müssen eine vollständige Datei von diesem System zu Ihrem lokalen Windows übertragen, öffnen Sie einfach eine separate SCP-Verbindung; PuTTY kommt mit pscp.exe zum Übertragen von Dateien. Abhängig von Ihrer SSH-Konfiguration kann dies beim Multiplexen sogar die gleiche Verbindung wiederverwenden, so dass der Overhead ziemlich klein sein sollte.

Wenn Sie einen X-Server installieren (wie Cygwin-X) und ssh -X hostname verwenden zu verbinden, können Sie eine Remote-Terminal/gVim Sitzung starten und haben die Zwischenablage kopieren Synchronisierung mit dem Windows-Host, mit freundlicher Genehmigung des X-Servers. Mit PuTTY allein ist dies nicht möglich, da es ein einziger Terminal-Client ohne Verbindung zu X ist.

+0

Gibt es eine Arbeit dafür, weil ich oft Putty statt einer SSH von Linux/OS X Maschine –

+0

In der PuTTY-Konfiguration Verbindung -> SSH -> X11 können Sie die X11 Forwarding aktivieren, die diese -X anhängen wird Fahne auf Verbindung. Ich kann bestätigen, dass diese Lösung funktioniert, ich habe auch diesen Artikel angeschaut: http://www.quora.com/How-can-you-copy-all-contents-of-a-text-file-opened-in-vim- über-Putty-auf-einem-Windows-Desktop-zu-Windows-Zwischenablage Ich laufe PuTTY auf Windows 7, verbinde mich mit einer Vagrant-Box mit dem XMing-Port forwared und bin in der Lage, von Vim in die Zwischenablage über 'zu kopieren "* y' –

1

Ich nehme an, Sie erwartet, dass der Text in die Zwischenablage des Host-Systems kopiert haben. Ich bezweifle, dass das möglich ist aus vim in einem Kitt-Sitzung ausgeführt wird, aber die folgenden Werke für mich

  • wählen Sie den Text mit der Maus.
  • ausgewählter Text wird in die Zwischenablage meines Systems geschrieben.

Beachten Sie, dass dies nichts mit vim zu tun hat, aber es ist völlig putty tun.

bearbeiten

Von Using PuTTY

3.1.3.5 Alle kopieren

Diese System Menüoption Clipboard bietet eine komfortable Möglichkeit, den gesamten Inhalt des Terminal-Bildschirm zu kopieren (bis bis zur letzten nicht leeren Zeile) und Scrollback in die Zwischenablage auf einmal

+0

Das Problem einfügen Ich habe ist, dass ich eine ganze Datei kopieren muss (mehr als 1000 Zeilen) und ich kann nicht alles auf diese Weise hervorheben. Außerdem habe ich Zeilennummern aktiviert, kopiert also Kopien in den Zeilennummern. – user886596

+1

Ich habe die Kittoptionen beim Öffnen einer Sitzung überprüft, aber ich finde keine Option zum Synchronisieren von Zwischenablagen. Wenn ich [PuTTY] betrachte (http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter3.html), fange ich an zu denken, dass das nicht möglich ist. Kannst du nicht zum Computer ftp, um die Datei zu bekommen? Oder ftp von innerhalb vim in Ihrer Putty-Sitzung zu Ihrem lokalen Rechner, um die Datei zu setzen. –

+0

Streik, dass - Öffnen Sie einfach das Systemmenü (oben links) und wählen Sie * Alle in die Zwischenablage kopieren * –

32

mit Maus aktiviert über set mouse=a Sie müssen einfach "Shift halten, und markieren Sie den Text, den Sie kopieren möchten mit der Linke Maustaste. Wenn Sie die Maustaste loslassen, sollte der markierte Text in der Windows-Zwischenablage stehen. " Siehe https://stackoverflow.com/a/4313348

+1

Es funktioniert nicht. – Argyll

+0

Dies ist das einzige, was bisher für mich gearbeitet hat –

+3

Ich kann nur verwenden, um zu kopieren, was in der Box ist. Scrollen funktioniert nicht. Ich benutze MTPutty. – kapad

0

Der einfachste Weg, den ich bisher gefunden habe, ist die Protokollierung in meiner Putty-Sitzung zu aktivieren. Dann blättern Sie einfach durch die Zeilen, die ich möchte. Da alles auf dem Spachtel-Bildschirm in meine lokale Datei eingeloggt ist, kann ich einfach Dinge aus meiner lokalen Datei kopieren und sie in einer E-Mail oder was auch immer senden.

HTH.

+0

Dies liefert keine Antwort auf die Frage Kritik oder Klärung f von einem Autor, hinterlasse einen Kommentar unter ihrem Beitrag - du kannst deine eigenen Beiträge jederzeit kommentieren und wenn du genügend [Reputation] hast (http: // stackoverflow.com/help/whats-reputation) können Sie [jeden Beitrag kommentieren] (http://stackoverflow.com/help/privileges/comment). – Qix

+0

Diese Methode ist eine Alternative zur Verwendung von Copy Paste zwischen Putty Screen und lokalen Windows-Host, und eine Alternative zu winscp, um Textdatei zu übertragen, um sagen zu können, eine Logdatei zum Beispiel auf den lokalen Rechner zu bringen. – driftingprogrammer

1

Die einzige zuverlässige Möglichkeit zum Kopieren von Text/Daten von einer Remote-Verbindung, die ich finden konnte, ist über eine Drittanbieter-SCP-Anwendung wie filezilla oder winscp.Sie können den letzten hier herunterladen: http://winscp.net/eng/download.php

2

Ich war mit dem gleichen Problem konfrontiert, das ich überall suchte, aber ich fand keine einfache Lösung, ohne ein zusätzliches Software-Tool zu installieren. Also hier ist die einfachste Lösung.

  1. Ausfahrt von vi-Editor

  2. $ Katze oben Befehl Sie alle Inhalte sehen, die in dieser Datei ist

  3. wählen Sie den Inhalt Sie wollen kopieren (ja Sie können auf diesem Bildschirm während der Auswahl scrollen)

  4. klicken Sie nicht auf jede Maustaste weil Text automatisch

  5. öffnen Sie Ihren Text-Editor auf Windows erhalten ausgewählt werden und dort

  6. Geschehen

+0

Dies war der einzige logische Weg, wie ich es tun konnte. Es ist ein bisschen mehr Arbeit, um Datei und Katze zu beenden, aber es funktioniert für mich. Vielen Dank! –