Saya menggunakan Kubuntu 10.04. Saya ingin mengubah beberapa tombol pintas standar untuk bash (terminal).
Berikut ini cara pintas yang ingin saya atur:
Ctrl- Cuntuk menyalin teks yang dipilih di terminal ke clipboard.
Ctrl- Vuntuk menempel dari clipboard ke terminal.
Ctrl- Zuntuk membatalkan pengeditan pada baris saat ini di terminal.
Ctrl- Shift- C(atau bahkan lebih baik, Super- C) untuk menghentikan perintah.
Ctrl- Shift- Z(atau Super- Z) menjadi perintah latar belakang.
Ctrl- Shift- V(atau Super- V) untuk menjadi perintah sisipan literal (atau apa pun Ctrl- zlakukan sebelumnya).
Bagaimana cara saya melakukan perubahan ini?
BTW, saya suka cara terminal bekerja pada OS X. Penggunaan tombol perintah membuat semua perintah salin / tempel sangat konsisten (tidak seperti banyak hal lain di OS X).
PS Saya membaca halaman bash man dan itu tidak membantu. Itu memberi saya ide, tetapi saya perlu contoh spesifik untuk kombinasi di atas. Terima kasih.
Jawaban:
Itu bukan fitur bash, itu fitur driver terminal. Dengan demikian, mereka ditentukan oleh
stty(1)
.sumber
Ini hampir sepenuhnya diselesaikan sekarang. Bagian dari solusi pertama kali dibawa ke perhatian saya oleh MTK358 di http://www.linuxquestions.org/questions/linux-software-2/change-bash-shortcut-keys-such-as-ctrl-c-818170/ . Dia menunjukkan fakta (agak jelas, sangat memalukan saya) bahwa tombol pintas salin dan tempel dapat dengan mudah diubah oleh pengaturan menu konsole. Setelah saya melihat ini, dibutuhkan sekitar 1 menit untuk mengatur Ctrl-C dan Ctrl-V untuk menyalin dan menempel dengan terminal.
Bagian lain dari solusi seharusnya sudah jelas dari halaman manual stty, tapi ternyata tidak (bagi saya). Saya akhirnya hanya bereksperimen berdasarkan berbagai petunjuk, seperti yang diposting di atas.
Saya memutuskan kunci non-numerik mana yang ingin saya ganti Ctrl-C sebagai perintah terminate. (Saya menggunakan "k"). Saya tidak pernah menemukan info tentang cara menyampaikan pengubah pergeseran ke stty, jadi saya menyerah. Dengan itu diputuskan, yang harus saya lakukan adalah memasukkan yang berikut pada baris perintah:
stty intr \ ^ k
Saya memverifikasi bahwa semuanya berfungsi seperti yang diinginkan.
Sekarang saya hanya perlu menempatkan perintah tunggal di atas (stty intr \ ^ k) dalam skrip startup. Saya tidak yakin yang mana yang "tepat". Saya ingin perubahan ini menjadi sistem yang luas dan permanen.
Adakah saran untuk skrip mana saya harus menempatkan perintah?
Dan akhirnya, untuk balasan khotbah, mereka tidak perlu dan tidak membantu.
sumber
Beberapa hal dapat diatur menggunakan mekanisme jalan pintas keyboard KDE yang normal. Di menu "Pengaturan" Konsole, klik "Konfigurasikan Pintasan", dan Anda akan mendapatkan dialog yang dapat Anda gunakan untuk mengubah ikatan kunci untuk fungsi-fungsi yang ditangani oleh KDE. Itu akan memungkinkan Anda untuk memetakan ulang Ctrl + C untuk menyalin dan Ctrl + V untuk menempel - tetapi perlu diingat bahwa setelah Anda melakukannya, urutan kunci tersebut tidak akan lagi diteruskan ke terminal, sehingga Anda tidak akan dapat menggunakan Ctrl + C untuk menghentikan suatu program, misalnya.
Fungsi-fungsi lain dikendalikan oleh
readline
perpustakaan, yang dapat Anda konfigurasi dengan mengedit file~/.inputrc
. Untuk mendapatkan Ctrl + Z untuk mengembalikan pengeditan yang dilakukan pada baris saat ini, Anda ingin menambahkantetapi urutan kunci itu mungkin sudah terperangkap oleh terminal, jadi Anda mungkin harus menggunakan
stty
untuk melepaskan ikatannya sebelum itu bekerja. Pertama mencari^Z
di outputstty -a
(seperti yang ditunjukkan dalam jawaban Ignacio) dan kemudian, misalnya, jika muncul dalamsusp = ^Z
, jalankanuntuk melepaskan ikatan pemetaan kunci itu.
Perubahan lain yang Anda tanyakan harus dilakukan
stty
seperti yang dikatakan Ignacio, karena itu adalah fungsi terminal, tapi saya tidak yakin persis bagaimana caranya. Masalahnya adalah saya tidak tahu apakah terminal mengenali Shift, atau jika benar, bagaimana menyampaikan informasi itu kepadastty
.sumber
Penggunaan
emacs
atauvi
mode Bash pada baris perintah. Tidak memiliki konsep "seleksi" atau "papan klip". Ini menggunakan hal-hal seperti "kill buffer" dan "point", "mark", "word", "line", "kill" dan "yank", dll.Mencoba untuk memfungsikan fungsionalitas gaya GUI ke dalamnya akan membuat frustasi yang terbaik dan tidak akan berfungsi sepenuhnya. Anda harus mencoba menggabungkan fungsi
stty
,readline
dan terminal Anda (mungkinTerminal.app
untuk Anda). Anda akan perlu untuk remap fungsi sepertiintr
,susp
,lnext
, dll, sehingga Anda masih dapat menggunakan fitur mereka.Saya sangat merekomendasikan terhadap modifikasi radikal tersebut. Itu tidak dirancang untuk melakukan apa yang Anda inginkan.
Ketika di Roma...
sumber
Saya menjalankan Ubuntu dan mengubah cara pintas untuk Copy dari default Ctrl+ Shift+ Cuntuk lebih normal dan sederhana Ctrl+ C. Namun ini membuat saya mengalami masalah tidak bisa mengirim interrupt perintah ^ C .
Berkat @ Paul, saya menemukan menjalankan perintah
Akan memungkinkan saya untuk mengirim perintah interrupt menggunakan Ctrl+ K. Namun perintah ini perlu dijalankan setiap kali saya membuka terminal yang merepotkan (seperti yang dia sebutkan sendiri).
Dengan sedikit riset lebih lanjut (googling 😂) saya menemukan cara menjalankan perintah setiap kali terminal dibuka (di Ubuntu toh) .
Dengan demikian, akhirnya menjalankan perintah berikut (sekali) (di Ubuntu 18.04 dan kemungkinan lebih) akan memberikan perilaku yang diharapkan setiap saat.
Akhirnya, perlu disebutkan bahwa Anda tidak harus menggunakan Ktombol. Anda dapat menukar huruf k dalam semua perintah di atas dengan kunci huruf apa saja yang Anda pilih.
sumber