Putty cara memilih teks dan menyalin teks menggunakan keyboard saja


75

Apakah ada cara untuk memilih teks dengan keyboard seperti yang saya lakukan biasanya menggunakan panah Shift +.


Saya pikir itu tidak mungkin. :(
Lucas Jones

Saya tidak mengerti. Shift dan panah ada di keyboard.
Scott

Jawaban:


71

Dari manual Putty :

Salin dan tempel Putty bekerja sepenuhnya dengan mouse. Untuk menyalin teks ke clipboard, Anda cukup klik tombol kiri mouse di jendela terminal, dan seret untuk memilih teks. Ketika Anda melepaskan tombol, teks secara otomatis disalin ke clipboard. Anda tidak perlu menekan Ctrl- Catau Ctrl- Ins; bahkan, jika Anda menekan Ctrl- C, Putty akan mengirim Ctrl- Ckarakter ke sesi Anda ke server di mana itu mungkin akan menyebabkan proses menjadi terganggu.


9
Baris saya adalah 24k karakter. Bagaimana saya bisa menyalinnya? Saya hanya bisa melihat bagian terakhir dari baris atau bagian pertama pada buffer layar.
Gaʀʀʏ

@ Gaʀʀʏ Saya tahu Anda sudah lama beralih dari komentar ini, tetapi saya hanya ingin mencatat bahwa jika saya memiliki baris 24k untuk menyalin, saya pikir opsi 'Salin Semua ke Papan Klip' dibenarkan. Itu tentu yang saya sebut kasus tepi.
Sean Allred

@ Gaʀʀʏ, untuk menambah balasan Sean, salinannya dari buffer terminal dan bukan dari stdout. Untuk garis yang sangat panjang, sangat mungkin bahwa garis meluap buffer itu sendiri.
ysap

3
Shift + Insert.
jam

26

Sejauh yang saya tahu, tidak ada cara untuk menyalin area yang dipilih dari jendela dempul ke papan klip Windows tanpa menggunakan mouse. ada permintaan fitur di situs dempul khusus untuk fungsi ini.

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

satu-satunya cara untuk menyalin informasi dari jendela dempul ke papan klip Windows dengan pintasan keyboard adalah dengan menggunakan menu sistem aplikasi "salin semua ke papan klip" (yang dapat Anda gunakan dari alt-space, asalkan Anda mengatur "Jendela> Perilaku> Menu sistem muncul pada opsi ALT-Space "yang dikonfigurasikan dalam dempul.

Menempel dari clipboard Windows ke dempul dapat dilakukan dengan Shift- Insert.

Jika Anda perlu menyalin dan menempelkan hanya di dalam jendela terminal itu sendiri, lihat halaman manual untuk shell yang Anda gunakan atau pertimbangkan untuk menggunakan aplikasi "layar" unix ('layar pria' untuk info lebih lanjut), yang memungkinkan pemilihan teks untuk copy / paste di dalam jendela terminal (mirip dengan cara kerja copy / paste vi). kutipan dari halaman manual:

   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 - Bekerja dengan baik untuk saya. Mengejutkan bahwa tiket itu diajukan lebih dari 13 tahun yang lalu dan belum ada yang peduli untuk melakukannya.
ArtOfWarfare

Tautan berfungsi sekarang.
xgMz

25

control+ insert= salin

shift+ insert= tempel


2
Saya tidak tahu mengapa ini diturunkan. Itu satu-satunya jawaban yang berhasil untuk saya. Saya dapat membuat skrip AutoHotkey yang menyalin teks dari GVim di Windows, menempelkannya ke Putty, dan menjalankannya dalam sesi IPython interaktif
rsoren

2
control+ inserttampaknya tidak melakukan apa pun. shift+ inserttidak menempel.
ArtOfWarfare

3
Pada 2016, ia bekerja dengan Windows 7 dan Putty 0,63. Namun, pertanyaannya ternyata mencakup pengaturan pemilihan untuk penyalinan juga AFAICT.
stefanct

3
@ rsoren - OP meminta metode khusus keyboard. Jawaban ini membutuhkan penandaan dengan mouse terlebih dahulu. Menurut jawaban yang dipilih, setelah ditandai, <Ctrl + Ins> tersirat.
ysap

Tidak bekerja untuk saya di Windows 7
SherylHohman

3

Untuk mengatasi masalah ini, jalankan Putty dalam pengganti konsol Windows seperti ConEmu atau SuperPutty .


1
Bagaimana Anda melakukan ini di SuperPutty?
grokster

@sathya bagaimana cara kerjanya? apa kelebihan dari dempul?
alpha_989

@ Michael-Hampton .. apakah ConEmu memungkinkan Anda untuk menempelkan dari Clipboard Windows ke Terminal Windows hanya dengan keyboard?
alpha_989

2

Saya menggunakan layar GNU,

Saya juga punya ini di screenrc saya untuk bermain dengan baik dengan vim:

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

Seorang teman saya memiliki layar kait untuk menyalin "clipboard layar" ke salah satu atau kedua clipboard x (seleksi atau clipboard) dan saya percaya dempul melakukan terjemahan yang diperlukan. Saya akan mencoba untuk menggali itu.

Anda mungkin dapat mengatur hal yang sama dengan xclip, mantera yang Anda cari harus digunakan xclip -selection clipboard

Saya akan menguji dengan cepat untuk melihat apakah xclip -selection clipboard -omeludahkan isi clipboard Anda.


Saya berharap ini berhasil di Putty! Saya mencoba. Itu mengeluh tentang "tidak dapat membuka tampilan"
Brian Peterson

Penggunaan xclipharus berhasil. Saya menggunakan tmuxdan xselmenyalin dari Puty menggunakan keyboard .. Saya belum tahu bagaimana cara menempelkan ke terminal Windows dengan keyboard
alpha_989

2

Ini mungkin lebih merupakan solusi daripada solusi.

Dalam vim, jika Anda ingin menyalin blok yang Anda pilih dalam mode visual (biasanya blok yang merentang banyak halaman), Anda dapat menuliskannya ke file (dengan mengetikkan :w filename.txtsaat teks dipilih dan saat Anda masih dalam mode visual ). Setelah Anda selesai melakukannya, Anda dapat:

  1. Buka file dalam editor Windows jika itu dipasang di atas Samba
  2. Baca konten file melalui Apache atau server FTP
  3. Email file sebagai lampiran (lihat perintah di bawah - memerlukan Mutt):

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

Secara pribadi saya lebih suka opsi 1.


2

Saran lain yang agak darurat adalah mengaktifkan Mouse Keys di dalam Windows. Di Windows 7 itu di bawah Kemudahan Akses Pusat.

  1. Klik "Buat mouse lebih mudah digunakan".
  2. Centang kotak centang yang bertuliskan "Aktifkan Tombol Mouse".
  3. Klik "Set up Mouse Keys" untuk pengaturan tambahan.

Tombol pintas Mouse Tombol default adalah Alt+ Shift+ NumLock.

Semoga menekan kombinasi tombol ini tidak akan mengganggu sesi Anda (atau hanya Alt+ Tabkeluar dan mengaktifkannya dari luar dempul). Saya percaya menekan 0 pada numpad memulai kunci klik, memungkinkan Anda untuk menyeret bagian teks yang ingin Anda sorot / salin.


2

Saya bosan menggulir baris demi baris melalui tombol kiri mouse untuk menyalin output sesi. Tapi sekarang, saya perlu mengklik tombol tengah dua kali; pertama di awal dan kedua di akhir. Bagaimana saya melakukannya:

  1. Pergi ke jendela Konfigurasi Dempul
  2. Pilih "Pilihan" dari kategori di sebelah kiri jendela.
  3. Di bawah 'Kontrol penggunaan mouse', pilih 'Kompromi (Perpanjangan tengah, pasta kanan)' jika belum dipilih.

2
Harap baca dan buatlah diri Anda memahami pertanyaan itu dan kemudian cobalah untuk menjawabnya.
Renju Chandran chingath

Ini adalah cara terbaik untuk memilih, dan Putty menangani penyalinan. Untuk menyalin lebih dari satu layar teks, saya pikir Anda cukup banyak menggunakan cat saja. vi terus menggerakkan kursor.
Noumenon

1

Selesaikan ini sebentar, dan Putty sendiri tidak bisa membiarkan Anda menyalin hanya dengan clipboard.

Namun, Putty dapat memfasilitasi transmisi data terbalik dari sisi jarak jauh. Jika Anda menggunakan alat seperti Vim atau Tmux untuk membuat pilihan teks berbasis keyboard, Anda dapat membuang output ke file, dan (dating sendiri di sini) netcat ke terowongan port dempul terbalik ke layanan lokal yang membuang input ke lokal papan klip.

Saya membuat video tentang bagaimana melakukan ini di sini: https://www.youtube.com/watch?v=RI79eeCuyvE , tapi ini versi singkatnya:

Atur dempul> koneksi> SSH> terowongan Anda untuk meneruskan R11311 ke localhost: 1234 Gunakan netcat sebagai server pendengar yang menyalurkan output ke perintah klip windows 10 yang mengirimkan input ke clipboard windows. Bungkus ini dalam lingkaran abadi seperti ini:

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

Jalankan di atas dalam prompt perintah yang Anda jalankan sebagai admin, karena Anda menunggu di port.

Pada server * nix jarak jauh, Anda perlu menggunakan vim atau Tmux untuk mengirim pilihan teks ke file.

Gunakan perintah untuk mengirim pilihan teks Anda ke file

tmux save-buffer ~/.clipboard

Atau, Anda dapat menggunakan Vim untuk menyimpan buffer (dalam hal ini, z) ke file

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

Saya mengintegrasikan vim dan tmux clipboard menggunakan file .clipboard sebagai perantara menggunakan fungsi vim inti .

Setelah pilihan teks Anda ada di file, Anda dapat mem-pipe output ke sisi jauh port forward:

cat ~/.clipboard | nc 127.0.0.1 11311

Atau di dalam skrip vim

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

Perhatikan bahwa ampersand diperlukan karena saya tidak bisa mendapatkan -q 0bendera netcat agar berfungsi dengan baik. Mungkin kamu bisa. Tanpa bekerja, ia menunggu satu detik penuh sebelum menutup, yang dapat memutus aliran pekerjaan Anda. Dengan tanda dan meninggalkan proses secara instan, yang selesai dalam 1 detik di latar belakang.

Melakukan semua hal di atas akan sepenuhnya mengintegrasikan Tmux, Vim, dan clipboard klien dempul lokal tanpa menyentuh mouse! Ini adalah satu-satunya cara saya dapat menemukan untuk melakukan ini.


Juga, jika Anda menggunakan ini untuk pasta multiline antara OS, ingatlah untuk mengkonversi antara akhir baris DOS / Unix
Troy Fletcher

-1

Jika Anda berada di mesin windows itu akan berfungsi dengan baik tetapi jika dalam kasus mesin berbasis linux itu kadang tidak akan berhasil. Untuk membuatnya berfungsi, cukup salin konten pada editor teks apa pun dan cukup gunakan tombol Shift + Sisipkan di baris tempat Anda ingin menempelkannya.

Semoga ini bisa membantu!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.