Cara memilih (menyalin) output di terminal tanpa mouse

10

Sepertinya cara khas Anda memiliki beberapa output di terminal dan jika Anda ingin memilih frasa tertentu Anda menggunakan mouse untuk menyalinnya, tetapi apakah ada cara untuk memilih tanpa menggunakan mouse? Misalnya, saya input ls, dan mendapatkan daftar file, dan saya ingin memilih file kedua (baris kedua), apakah ada cara untuk menyalin nama tanpa menggunakan mouse?

Negrito
sumber

Jawaban:

10

Menggunakan tmux:

Saya menggunakan tmuxdalam mode vi:

  1. Masuk ke mode salin (dalam konfigurasi saya Prefix+ escape, Awalan Default adalah Ctrl+ b)
    • Dalam file konfigurasi ( ~/.tmux.conf):bind Escape copy-mode
  2. Bergerak (Menggunakan panah)
  3. Pilih output keinginan Anda (Mulai seleksi dengan Space)
    • Dalam konfigurasi saya v:bind-key -T copy-mode-vi y send-keys -X begin-selection
  4. Tekan Enteruntuk menyalin teks.
    • Dalam konfigurasi saya y:bind-key -T copy-mode-vi y send-keys -X copy-selection
  5. Tekan Prefix+ puntuk menempel.

masukkan deskripsi gambar di sini

Juga buat pengikatan kunci seperti ini:

bind C-c run "tmux save-buffer - | xsel -bi"

Jadi Anda dapat menyimpan buffer ke clipboard sistem dengan menekan Prefix+ Ctrl+ c.

Saya telah menambahkan konfigurasi saya karena ini lebih mirip vim daripada konfigurasi default.


Menggunakan perintah:

Inilah yang saya lakukan:

  1. Jalankan perintah (misalnya: ls -1)
  2. Proses output untuk mendapatkan hasil yang saya inginkan
  3. Kirimkan ke xsel -bi

Dalam contoh Anda:

$ ls -1 | sed -n 2p | xsel -bi
  • ls -1 mencetak masing-masing output dalam satu baris
  • sed -n 2p dapatkan baris kedua
  • xsel telah digunakan untuk menyalin hasil akhir di clipboard.

Jika perintah terlalu lama untuk dijalankan, pertama-tama simpan output ke file proses output:

command > output
head -10 output | whatever | xsel -bi
Ravexina
sumber
0

Emulator terminal Linux yang paling umum tidak dapat melakukan ini secara langsung. Ada 2 yang saya sadari.

Salah satu yang ada cukup lama adalah Rayap. Itu agak sederhana, meskipun (pintasan keyboard tidak dapat dikonfigurasi, tidak ada banyak tab).

Sekarang ada yang kedua, yang memiliki fitur-fitur ini bernama Mantid (yang tanpa malu saya iklankan di sini :)):

https://github.com/omgold/mantid-term

Tidak ada build Ubuntu, namun, satu Arch dan RPM. Anda mungkin mencoba membangun RPM dan mengubahnya menjadi deb menggunakan Alien.

omgold
sumber
Saya ingin mencoba mantid, tetapi saya tidak dapat menemukan tutorial atau manual. Apakah ada dokumentasi di luar sana? Akan lebih baik untuk mengetahui setidaknya bagaimana cara menyelesaikan fungsi yang diminta dalam pertanyaan.
Luís de Sousa
Ada manpage ('man mantid') dan ada contoh file konfigurasi di / usr / share / mantid. Manual ini sebagian besar mendokumentasikan opsi konfigurasi, dan ikatan tombol aktif dapat dilihat dalam file konfigurasi.
omgold