SADECE klavyeyi kullanarak metin seçmek ve metni kopyalamak nasıl PuTTY


75

Normalde Shift + ok tuşlarını kullanarak yaptığım gibi klavyeli bir metin seçmenin bir yolu var mı?


Bunun imkansız olduğunu düşünüyorum. :(
Lucas Jones

Anlamadım Shift ve oklar olan klavyede.
Scott

Yanıtlar:


71

Gönderen PuTTY kılavuzda :

PuTTY'nin kopyala ve yapıştır tamamen fare ile çalışır. Panoya metin kopyalamak için, terminal penceresindeki sol fare düğmesini tıklamanız ve metni seçmek için sürüklemeniz yeterlidir. Düğmeyi bıraktığınızda, metin otomatik olarak panoya kopyalanır. Ctrl- Cveya Ctrl- tuşuna basmanıza gerek yoktur Ins; bunlar basına yaparsanız aslında, Ctrl- C, PuTTY gönderecek Ctrl- Cmuhtemelen süreci kesintiye neden olacak sunucuya oturumu aşağı karakter.


9
Çizgim 24k karakter uzunluğunda. Bunu nasıl kopyalayabilirim? Ekranın tamponunda sadece satırın son kısmını veya ilk kısmını görebiliyorum.
Gaʀʀʏ

@ Gaʀʀʏ Bu yorumdan uzun zaman önce devam ettiğinizi biliyorum, ancak yalnızca kopyalamak için bir 24k satırım varsa, 'Tümünü Panoya Kopyala' seçeneğinin haklı olduğunu düşünüyorum. Kesinlikle böyle bir dava denir.
Sean Allred

@ Gaʀʀʏ, Sean'ın cevabını eklemek için, kopya terminal tamponundan değil stdout'tan. Çok uzun çizgiler için, hattın tamponun kendisinden taşması kesinlikle mümkündür.
saat

3
Üst Karakter + Ekle.
17'de

26

bildiğim kadarıyla, fareyi kullanmadan seçilen bir alanı macun penceresinden Windows panosuna kopyalamanın bir yolu yok. Macun sitesinde özellikle bu işlevsellik için bir özellik isteği var.

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

bilgileri kopyalamak için tek yol gelen bir klavye kısayolu ile Windows panosuna macun penceresinden> siz "Pencere> Davranışı ayarlamak koşuluyla, alt-uzaydan çağırabileceği ( "Panoya tüm kopya" Uygulamaya, sistem menüsünü kullanmaktır ALT-Boşlukta sistem menüsü görünür "seçeneği macunla yapılandırılmıştır.

Windows panosundan macun içine yapıştırma Shift- ile yapılabilir Insert.

Yalnızca terminal penceresinin içine kopyalayıp yapıştırmanız gerekirse, kullandığınız kabuğun man sayfasına bakın veya metin seçimine izin veren unix "screen" uygulamasını (daha fazla bilgi için 'man screen') kullanmayı düşünün Terminal penceresindeki kopyala / yapıştır için (vi'nin kopyala / yapıştır işleminin çalışma şekliyle aynı). man sayfalarından bir bölüm:

   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 - Benim için iyi çalışıyor. Bu biletin 13 yıldan fazla bir süre önce dosyalandığını ve henüz kimsenin bunu yapmadığını söylemesini şaşırttı.
ArtOfWarfare

Link şimdi çalışıyor.
xgMz

24

control+ insert= kopyala

shift+ insert= yapıştır


2
Bunun neden indirildiğini bilmiyorum. Benim için çalışan tek cevap bu. Windows'taki GVim'den metin kopyalayan, Putty'ye yapıştıran ve etkileşimli bir IPython oturumunda çalıştıran bir AutoHotkey betiği yapmayı başardım
rsoren

2
control+ insertkesinlikle hiçbir şey yapmıyor gibi görünüyor. shift+ insertolsa da yapıştırın.
ArtOfWarfare

3
2016 yılı itibariyle Windows 7 ve Putty 0.63 ile çalışmaktadır. Bununla birlikte, soru, görünüşe göre AFAICT ve kopyalamaya ilişkin seçimi de içerir.
stefanct

3
@rsoren - OP sadece klavye yöntemini ister. Bu cevap, önce fareyle işaretlemeyi gerektirir. Seçilen cevaba göre, bir kez işaretlendiğinde, <Ctrl + Ins> belirtilir.
saat

Windows 7'de benim için çalışmıyor
SherylHohman

3

Bu soruna geçici bir çözüm bulmak için, PuTTY'yi ConEmu veya SuperPutty gibi bir Windows konsolunda çalıştırın .


1
Bunu SuperPutty'de nasıl yapıyorsunuz?
Ocak'ta 14:35

@sathya bu nasıl çalışır? Aşırı ihracın macunun üzerinde ne var?
alpha_989

@ Michael-Hampton .. ConEmu Windows Panosundan Windows Terminaline yalnızca klavyeyle yapıştırmanıza izin veriyor mu?
alpha_989

2

GNU ekranını kullanıyorum

Ayrıca benim screenrc de vim ile güzelce oynamak için:

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

Bir arkadaşım, "ekran panosunu" x panolardan birine veya her ikisine (seçim veya pano) kopyalamak için ekranda bir kancaya sahip ve macunun gerekli çevirileri yaptığını düşünüyorum. Kazmaya çalışacağım.

Muhtemelen xclip ile aynı şeyi düzenleyebilirsiniz, aradığınız teşvik kullanmak xclip -selection clipboard

xclip -selection clipboard -oPano içeriğini tükürür olup olmadığını görmek için hızlı bir şekilde test ediyorum .


Bunun PuTTY'de çalışmasını diliyorum! Denedim. "Ekranı
Brian Peterson

Kullanarak xclipçalışması gerekir. Kullandığım tmuxve xselben klavye Windows terminale yapıştırabilirsiniz anlamaya henüz .. klavyeler kullanarak Puty kopyalamak
alpha_989

2

Bu, çözümden ziyade geçici bir çözüm olabilir.

Vim'de, görsel modda seçtiğiniz bir bloğu (genellikle birçok sayfayı kapsayan bir blok) kopyalamak istiyorsanız, bir dosyaya yazabilirsiniz ( :w filename.txtmetin seçiliyken ve görsel moddayken yazabilirsiniz) ). Bunu yaptıktan sonra şunları yapabilirsiniz:

  1. Samba üzerine monte edilmişse dosyayı bir Windows editöründe açın
  2. Dosya içeriğini Apache veya bir FTP sunucusu üzerinden okuyun
  3. Dosyayı ek olarak e-postayla gönderin (aşağıdaki komuta bakın - Mutt gerektirir):

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

Şahsen ben seçenek 1 tercih ediyorum.


2

Bir başka kısa süreli öneri, Windows'taki Mouse Keys'i aktive etmektir. Windows 7'de Erişim Kolaylığı Merkezi'nin altında.

  1. "Fareyi kullanımı kolaylaştırın" seçeneğini tıklayın.
  2. "Fare Tuşlarını Aç" yazan onay kutusunu işaretleyin.
  3. Ek ayarlar için "Mouse Keys Kur" a tıklayın.

Varsayılan Fare Tuşları kısayol tuşu Alt+ Shift+ ' dır NumLock.

Umarım bu tuş kombinasyonunu vurmak seansınıza engel olmaz (veya sadece Alt+ Tabout dış macunla etkinleştirin). Sayısal tuş takımında 0'a basmanın bir tıklama kilidini başlattığını vurgulamak / vurgulamak istediğiniz metnin bir bölümünü sürüklemenize izin verdiğine inanıyorum.


2

Oturum çıktısını kopyalamak için farenin sol düğmesiyle satır aşağı kaydırmaktan yoruldum. Ama şimdi, ortadaki düğmeyi iki kez tıklatmam gerekiyor ; birinci başlangıçta ve ikinci sonda. Nasıl yaptım:

  1. Macun Yapılandırması penceresine git
  2. Pencerenin solundaki kategoriden "Seçim" i seçin.
  3. 'Farenin kullanımını kontrol et' seçeneğinin altında, daha önce seçilmemişse 'Uzlaşma (Orta uzanır, Sağ yapıştırmalar)' seçeneğini seçin.

2
Lütfen soruyu okuyup kendinize anlatın ve ardından yanıtlamaya çalışın.
Renju Chandran chingath

Seçmenin en iyi yolu budur ve Macun kopyalamayı önemser. Birden fazla metin ekranını kopyalamak için, bunun yerine kedi kullanmanız gerektiğini düşünüyorum. vi, imleci hareket ettirmeye devam eder.
Noumenon

1

Bir süre bu konuda çalıştım ve Putty'nin kendisi sadece pano ile kopyalamanıza izin veremez.

Bununla birlikte, Macun, uzak taraftan verinin ters iletimini kolaylaştırabilir. Klavyeye dayalı metin seçimleri yapmak için Vim veya Tmux gibi bir araç kullanıyorsanız, çıktıyı bir dosyaya bırakabilir ve (burada kendimden çıkarak) netcat'ı bir girdiyi yerel bir servise dökülen bir macun ters port tüneline atabilirsiniz pano.

Burada bunun nasıl yapılacağına dair bir video yaptım: https://www.youtube.com/watch?v=RI79eeCuyvE , ancak kısa sürüm:

Macunu> bağlantı> SSH> tünellerini R11311'i localhost'a iletecek şekilde ayarlayın: 1234 Netcat'i, çıktısını windows panosuna gönderen windows 10 clip komutuna yönlendiren bir dinleme sunucusu olarak kullanın. Böyle bir döngü için bunu ebediyen sarın:

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

Yukarıdakileri yönetici olarak çalıştırdığınız bir komut isteminde çalıştırın, çünkü bir bağlantı noktasına teklif veriyorsunuz.

Uzak * nix sunucusunda, metin seçimlerini bir dosyaya göndermek için vim veya Tmux kullanmanız gerekir.

Metin seçiminizi bir dosyaya göndermek için bir komut kullanın.

tmux save-buffer ~/.clipboard

Veya, bir dosyaya bir tampon (bu durumda, z) kaydetmek için Vim kullanabilirsiniz

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

Vim i bütünleştirmek ve bir vim fonksiyonu kullanılarak aracılık .clipboard dosyasını kullanarak clipboards tmux özünü .

Metin seçiminiz dosyaya girdikten sonra, çıkışı ileriye bağlantı noktasının uzak tarafına yönlendirebilirsiniz:

cat ~/.clipboard | nc 127.0.0.1 11311

Veya bir vim betiğinin içinde

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

Ve işaretinin gerekli olduğunu unutmayın, çünkü Netcat'in -q 0bayrağını düzgün çalıştıramadım. Belki yapabilirsiniz. Çalışmıyorsa, kapanmadan önce çalışmanızın akışını kırabilecek bir saniye bekler. Ve işareti ile arka planda 1 saniye içinde tamamlanan işlemi anında terk eder.

Yukarıdakilerin hepsini yapmak, Tmux, Vim ve yerel macun istemci panolarını bir fareye dokunmadan tam olarak bütünleştirecektir! Bunu yapabilmemin tek yolu buydu.


Ayrıca, bunu OS'lerin arasındaki çok satırlı macunlar için kullanırsanız, DOS / Unix satır sonları arasında dönüşmeyi unutmayın
Troy Fletcher,

-1

Eğer Windows makinesindeyseniz, düzgün çalışacaktır ancak linux tabanlı makinelerde bazen çalışmaz. Çalışmasını sağlamak için içeriği herhangi bir metin düzenleyiciye kopyalayın ve yapıştırmak istediğiniz satırda Shift + Insert tuşunu kullanın.

Umarım bu yardımcı olur!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.