Bagaimana cara mengirim teks yang dimasukkan pada baris perintah ke clipboard sistem secara efisien tanpa menggunakan mouse?

14

Katakanlah saya sudah mengetik perintah panjang berikut ke dalam baris perintah

 $ some very long command that I want to copy to the clipboard

Bagaimana saya bisa mendapatkan ini ke clipboard sistem secara efisien? Saya menggunakan Terminal Gnome 2.23.1.

Saya tahu saya bisa mendapatkan mouse dan menyorotnya dan menyalinnya, tetapi saya ingin solusi keyboard umum.

Akan lebih baik jika digeneralisasikan ke beberapa program command-line.

Misalnya, dalam mode bash dalam vi, saya dapat menekan vdan kemudian mengedit perintah dalam vim, dan dengan demikian menggunakan salinan Vim untuk fitur clipboard, tetapi ini tidak berfungsi ketika menggunakan R pada baris perintah. Ini juga agak lambat.

Saya suka jika dalam mode-vi, saya bisa menekan yydan menyalin isi baris ke clipboard sistem, tetapi ini sepertinya tidak berhasil. Terlebih lagi, perintah menarik apa pun tampaknya tidak menyalin konten ke clipboard sistem; mereka tampaknya hanya menyalin ke buffer yang digunakan oleh bash.

MEMPERBARUI:

Setelah posting saya menemukan

Jeromy Anglim
sumber
1
Tidak persis apa yang Anda tanyakan: menggunakan layar Anda dapat mencapai apa yang Anda minta dengan mengikuti jawaban ini: askubuntu.com/questions/56570/…
enzotib
Mengikuti jawaban ini ( askubuntu.com/a/503861/43594 ), Anda dapat mengaktifkan Mouse Keys di Universal Access dan menggunakan tombol angka untuk menggerakkan mouse, dengan angka lima bertindak sebagai klik. Ketika diklik dua kali dengan cepat, itu akan memilih kata yang mengarahkan kursor. Ketika diklik tiga kali dengan cepat, itu akan memilih seluruh baris. Ini bersama dengan jawaban tentang cara menyalin (Ctrl-Shift-C) harus melakukan sebagian besar dari apa yang Anda butuhkan.
James

Jawaban:

3

Anda juga bisa menggunakan pengelola clipboard seperti parcellite. Ini adalah manajer clipboard GTK + yang juga memiliki kemampuan clipboard baris perintah

Anda dapat menggunakannya melalui command-line oleh

echo "some very long command that I want to copy to the clipboard" | parcellite
##or##
parcellite "some very long command that I want to copy to the clipboard"

Ini tidak diinstal secara default sehingga Anda harus menginstal parcellite pada sudo apt-get install parcellite

Nitin Venkatesh
sumber
1
terima kasih, setidaknya ketika saya di bash, saya kadang-kadang digunakan echo my command | xclip -se c; Namun, ketika perintah memiliki kutipan dan karakter khusus lainnya, echosering tidak menyalin perintah secara harfiah.
Jeromy Anglim
1

Jadi penutup yang bisa saya dapatkan adalah dengan menggunakan histori dan xclip bersama-sama melakukan ini

echo !! | xclip

Ini akan menempatkan perintah terakhir pada clipboard tombol tengah. Saya masih mencari sesuatu yang lebih baik karena saya ingin mendapatkannya ke satu perintah. Namun saya menutup telepon karena sejarah tidak berfungsi dalam skrip shell dan saya tidak tahu bahwa ada cara untuk menggunakan !!dengan benar dalam alias. Tentu saja ini sepertinya bukan permintaan Anda untuk maksud saya adalah menggunakan ini untuk mencatat apa yang saya lakukan. Apakah ada pemikiran?

pengguna27643
sumber
Juga, masih ada masalah bagaimana Anda menyalin perintah dengan tanda kutip.
Jeromy Anglim
0

Anda harus dapat menggunakan Ctrl+ Shift+ Cuntuk Salin dan Ctrl+ Shift+ Vuntuk Tempel di mana saja di Terminal.

Dirk Hartzer Waldeck
sumber
3
Anda masih memerlukan mouse untuk memilih teks.
enzotib
lakukan! poin yang sangat valid
Dirk Hartzer Waldeck
2
Yang menimbulkan pertanyaan, apakah mungkin untuk menyesuaikan terminal atau bash untuk dapat memilih teks menggunakan keyboard?
Jeromy Anglim
@JeromyAnglim Terkait: stackoverflow.com/q/312213/1172302
Nikos Alexandris