Hoster saya baru-baru ini diperbarui ke CentOS baru dan saya telah 'mempersonalisasikan' itu dan sekarang saya kehilangan sesuatu.
Di Server Ubuntu rumah saya, saya bisa forward-word
dan backward-word
dengan ALT + KANAN / KIRI . Saya tidak melakukan apa pun untuk itu. aku juga bisa ALT + MENGHAPUS untuk menghapus kata.
Di CentOS baru saya, saya bisa melakukannya ALT + MENGHAPUS , tapi saya tidak bisa mendapatkan ALT + KANAN / KIRI kerja! ALT + B / F bekerja, tapi itu tidak dapat diterima, karena hanya berfungsi untuk kiri ALT dan jari-jariku tidak terlalu ramping. (kanan ALT + B / F cetak saja "b" atau "f")
Saya sudah mencoba menyalin bagian dari / etc / inputrc ke CentOS, tetapi itu tidak melakukan apa-apa.
ALT atau CTRL Saya tidak peduli, tetapi saya benar-benar membutuhkan jalan pintas. CentOS terakhir tidak memilikinya, tetapi sejak Ubuntu saya telah melewatkannya di CentOS.
CentOS saya /etc/inputrc
:
"\e[5C": forward-word
"\e[5D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word
Ubuntu saya /etc/inputrc
:
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
Aku bahkan tidak tahu apa artinya semua itu !? apa yang [1;5C
untuk kunci ??
\e[1;5C
dan\e[1;5D
) Anda mengutip dari inputrc Ubuntu Anda di my~/.inputrc
dan itu berfungsi dengan baik untuk debian, ubuntu dan arch.ALT
atauCTRL
? Karena mereka ada di sana, mereka seharusnya bekerja, bukankah begitu? Mereka berdua harusB
danF
, Saya akan berpikir. Linux itu aneh.CTRL
. Saya kira adalah bahwa urutan itu penting, yang satu dapat menimpa yang lain. Juga, file pengaturan lokal (mis.~/.inputrc
) diutamakan daripada yang di seluruh sistem, jadi jika ada konflik aneh di suatu tempat file lokal mungkin memperbaikinyaJawaban:
Berkat pertanyaan Anda, akhirnya saya membaca dan meningkatkan pemahaman saya, tepuk tangan!
Jadi, sumber informasi yang sangat bagus adalah
man readline
. Ikatan kunci ditentukan dalam berbagaiinputrc
file mengontrol cara perpustakaan BASH readline bekerja. Menurut halaman manual readline Anda dapat menggunakan nama kunci simbolis atau urutan melarikan diri:Halaman manual juga menyatakan bahwa file konfigurasi default adalah
~/.inputrc
jadi saya sarankan menempatkan binding Anda di sana.Jika Anda ingin menggunakan tombol huruf normal (misalnya Kontrol - g ),
Control-g: forward-word
bekerja dengan baik. Tombol panah lebih sulit. Saya mencoba, dan gagal, untuk menemukan kuncinya nama untuk tombol panah. Tidak ada yang saya coba (left-arrow
,left
,:left
) bekerja sehingga sepertinya kita terjebak dengan urutan pelarian.Sayangnya, urutan escape yang tepat berbeda di antara emulator terminal (itulah mengapa inputrc Ubuntu Anda memiliki beberapa baris). Untuk mengetahui urutan pelarian mana yang digunakan terminal favorit Anda, jalankan
read
lalu ketik urutan tombol yang Anda minati. Diterminator
,xterm
dangnome-terminal
, Kontrol - Kiri memberikan:di
aterm
:Dengan bereksperimen sedikit, saya menemukan itu
^[[D
aku s Kiri dan^[[1;5D
aku s Kontrol - Kiri . Pertama^[
adalah ESC kunci, digunakan di sini, saya kira, untuk menunjukkan suatu urutan pelarian .Bagaimanapun, untuk mengikat Kontrol - Kiri untuk
forward-word
dengan cara yang bekerja untuk semua, saya menambahkan baris ini ke~/inputrc
:Untuk alasan saya belum sepenuhnya mengerti, Kontrol diwakili oleh
\e
yang harus menjadi ESC .Akhir saya
~/.inputrc
File yang berfungsi untuk semua terminal yang tercantum di atas adalah:sumber
read
... Mungkin kesalahan keyboard (beberapa fungsi khusus !?) Luar biasa! Anda pria itu!\eOD
/\eOC
dan alt kiri / kanan:\e\e[D
/\e\e[C
. Terima kasih Tuhan itu sintaks yang bisa dibaca dan masuk akal seperti ini, kan !? Batu Linux!Cara melakukannya di Iterm2 sehingga berfungsi saat Anda terhubung ke host apa pun.
Catatan: Saya hanya menulis ini karena, pertanyaan lain ( https://superuser.com/questions/1042937/getting-ctrlarrows-to-move-word-at-a-time-on-newest-iterm2?rq=1 ) telah menautkan ke pertanyaan ini sebagai duplikat, tetapi pertanyaan ini tidak menjawab bagaimana melakukan ini di Iterm2, jadi itu bukan duplikat.
Jika Anda menggunakan OS X dan menggunakan Iterm2, Anda dapat memetakan Alt / Ctrl + → (panah kanan) dan Alt / Ctrl + ← ke perintah readline standar Meta + F dan Meta + B . Dalam contoh di bawah ini, diasumsikan bahwa kunci keluar adalah meta. Untuk melakukan ini, buka Iterm2.
^[
adalah urutan readline untuk melarikan diri. Entri ini memetakan Memilih + → untuk ESC + F (mungkin Alt + F di terminal lain)Cara memetakan jalan pintas ke urutan yang tidak bisa dilepaskan ( Ctrl , Alt , Cmd , dll.)
23
/0x17
.sumber
Terima kasih untuk pertanyaannya. Punya masalah ini dengan Putty pada CentOS 7 dan diselesaikan dengan menambahkan ini di dalam
$if mode=emacs
bersyarat:Mengaktifkan pengaturan dengan Ctrl + X kemudian Ctrl + R
sumber