EDIT April, 2015: Jika Anda memiliki pertanyaan yang sama, saya sarankan juga memeriksa http://xiki.org/
Saya tahu ini bukan bagaimana terminal bekerja, tapi saya sering berharap ada cara mudah menggunakan teks (menyalinnya, memodifikasi, dll) yang sudah ada di jendela terminal saya dari beberapa perintah keluaran sebelumnya.
Saya membayangkannya seperti ini:
Saya di bash shell saya akan memasukkan perintah dan saya menyadari saya perlu mengetik sesuatu yang sudah ada di layar beberapa baris di atas. Saya dapat meraih mouse dan memilihnya, tapi saya benci itu. Apa yang saya benar-benar harapkan saat ini adalah bahwa seluruh terminal saya menjadi buffer Vim raksasa, semuanya: prompt, perintah yang saya ketikkan, dan output dari perintah itu. Segala sesuatu. Dan kemudian saya dapat melompat beberapa baris ke atas, mungkin mengedit sedikit, dan menarik beberapa teks. Kemudian, kembali ke mode bash shell dan rekatkan apa pun yang saya tarik ke baris perintah saat ini.
Saya tahu ada beberapa opsi:
Tentu, pipa teks yang saya butuhkan langsung dari output perintah ke file, atau langsung ke perintah berikutnya. Tetapi untuk itu Anda harus merencanakan terlebih dahulu atau menjalankan kembali perintah dari histori Anda (seandainya output tidak akan berubah di antara permintaan).
Untuk meraih mouse dan memilih teks yang akan disalin. Lame, menjengkelkan, saya berharap saya tidak melakukan itu, (ini bukan situs pertukaran GUI, bukan? =)
Untuk menggunakan opsi "Ekspor teks sebagai ..." aplikasi Terminal saya (Mac OS X), dan simpan teks terminal ke file. Kemudian buka file dan bekerja dengannya. Hampir, tetapi mengapa harus melalui langkah menyimpan ke file di disk?
Jadi pertanyaannya adalah: Apa yang Anda lakukan dalam situasi ini? Apakah ada trik, alat, fitur shell yang dapat berguna dalam skenario ini? Apakah Anda cukup pasrah untuk menggunakan mouse atau mengetik ulang apa pun yang perlu Anda ketik?
Mungkin masalahnya adalah bahwa saya tidak melakukan hal-hal 'cara unix', tapi ayolah, ini 2010 dan saya tidak dapat dengan mudah menyalin beberapa teks beberapa baris dari kursor saya?
sumber
Jawaban:
Anda bisa menggunakan skrip (gunakan -f untuk memastikan itu memerah setiap kali) dan Anda dapat memiliki semua output dalam file.
Gunakan terminal multiplexer (layar, tmux dll). Misalnya, untuk layar http://web.mit.edu/gnu/doc/html/screen_11.html#
Multiplexer terminal lain pasti memiliki kemampuan lebih maju.
sumber
Dalam tmux (terminal multiplexer) Anda dapat menekan Ctrl + A- [untuk beralih ke mode buffer Vi di mana Anda dapat menavigasi di sekitar layar, gulir buffer bolak-balik, menyalin teks dll. Pintasan default sebenarnya Ctrl + B- [tapi itu jelas dimaksudkan untuk dikonfigurasi ulang. Selain itu, mode buffer default adalah Emacs tetapi Anda dapat mengkonfigurasinya menjadi Vi.
Lihat tmux, ini benar-benar terminal multiplexer modern yang hebat. Selain bekerja dengan buffer, Anda dapat membagi layar dalam beberapa jendela, menyambung ke sesi yang sama dari beberapa terminal dll. Untuk kenyamanan terbaik Anda bahkan dapat menjadikannya shell login Anda jika Anda tahu apa shell aktual Anda.
Pada OpenBSD tmux bahkan menjadi bagian dari sistem basis.
Lihat halaman manual untuk tmux untuk lebih jelasnya. Lihat juga tangkapan layar di http://tmux.sourceforge.net/
sumber
Dalam emacs, shell Mx menangani edisi dari output sebelumnya. Anda dapat dengan mudah menyalin tempel keluaran perintah sebelumnya, atau bagian mana pun dari buffer Anda, seperti buffer biasa. Saya cukup yakin harus ada setara vim.
sumber
eshell
ini dapat diakses .Seperti yang disebutkan di sini, Emacs '
eshell
bisa menjadi istilah + shell default Anda. :) Maka Anda akan menggunakan tombol navigasi teks yang biasa di sana sebagai minimum. Jika Anda mempelajari lebih banyak kunci khusus, maka fitur Emacs berikuteshell
ini dapat diakses:sumber
Saya menggunakan urxvt (rxvt-unicode) dan ada paket yang disebut urxvt-keyboard-select yang mungkin persis apa yang Anda inginkan, jika Anda dapat menginstal urxvt. Informasi paket Archlinux (yang berisi petunjuk) ada di sini:
https://aur.archlinux.org/packages.php?ID=39950
Sumber asli: http://www.github.com/muennich/urxvt-perls
sumber
Coba gunakan vim sebagai CLI Anda? Cukup pilih output dari beberapa baris ke atas dan pipa melalui:!.
sumber