Bagaimana cara saya melompat ke kata berikutnya atau sebelumnya dengan tombol panah CTRL + di konsol?

12

Dalam aplikasi emulasi terminal, menekan CTRL+ Left/ Rightpanah melompat dari satu kata ke kata sebelumnya atau berikutnya. Apakah mungkin untuk memiliki fungsi yang sama di konsol Linux, apakah itu dalam teks atau dalam mode framebuffer?

Dalam konfigurasi saya, CTRLtombol panah + diubah menjadi urutan karakter yang lolos dan tidak ditafsirkan.

Pedro Palhoto
sumber

Jawaban:

8

Hal ini dimungkinkan jika dan hanya jika terminal mengirimkan escape sequence yang berbeda untuk Ctrl+ Leftvs Left. Ini bukan kasusnya secara default di konsol Linux (setidaknya di komputer saya). Anda dapat melakukannya dengan memodifikasi keymap. File yang tepat untuk dimodifikasi mungkin tergantung pada distribusi Anda; pada Debian lenny, file yang akan dimodifikasi adalah /etc/console/boottime.kmap.gz. Anda perlu garis seperti

control keycode 105 = F100
string F100 = "\033O5D"
control keycode 106 = F101
string F101 = "\033O5C"

Anda mungkin juga memilih urutan pelarian yang sama dengan emulator terminal X Anda. Untuk mengetahui apa urutan kontrol itu, ketik Ctrl+ V Ctrl+ Leftdi shell; sisipan ini (pada mesin saya) di ^[O5Dmana ^[karakter pelarian. Dalam file keymap, \033merupakan karakter pelarian.

Mengkonfigurasi aplikasi di terminal untuk memecahkan kode urutan escape adalah masalah yang terpisah,.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Anda hanya menjelaskan bagaimana Anda mendapatkan "\033O5D"kode, tetapi benar-benar menghilangkan dari mana Anda mendapatkan keycode 105dan F100kode dari Selain itu, saya mendapatkan ^[[1;5Bdan ^[[1;5Auntuk ctrl + Down dan Ctrl + Up. Bagaimana saya harus menangani 1;bagian itu?
Martin Vegter
1
@ MartinVegter Periksa file yang ada untuk kode kunci, atau gunakan showkeyprogram. Bagian 1;tidak berbeda dari yang lain: "\033[1;5B"dan seterusnya.
Gilles 'SANGAT berhenti menjadi jahat'
OK keycode 105bisa ditemukan menggunakan showkey. Tapi dari mana Anda mendapatkan F100?
Martin Vegter
@ MartinVegter Pilih satu yang belum digunakan. Yang berbeda per keychord (saya baru saja memperbaiki kesalahan ketik dalam jawaban saya).
Gilles 'SANGAT berhenti menjadi jahat'
24

Shortcut gaya-emacs Alt+ f, Alt+ bbekerja secara default dengan semua program commandline bertenaga readline , seperti shells.

alex
sumber
2

Anda dapat mengatur vim sebagai editor baris perintah Anda dan kemudian tekan ESC dan melompat-lompat gaya vim (maju, belakang, akhir, $, 0, dll)


sumber
-1

Saya mengalami masalah ini di Debian dengan ~/.inputrcfile kosong . Atasi masalah dengan menghapus file ini.

Talkerbox
sumber