Di Windows dan Linux saya selalu bisa menekan ctrl+ ←atau ctrl+ →untuk melewatkan kata ke kiri atau kanan di terminal. Dalam editor teks tampaknya itu ⌥+ ←/ →berfungsi, tetapi tidak ada dadu di terminal. Saya telah mencari di Google dan tidak menemukan apa pun kecuali halaman Wikipedia yang mengklaim ⌥+ B/ Fmelakukan pekerjaan itu, tetapi yang dilakukannya hanyalah mencetak karakter ∫ dan ƒ ke terminal saya (atau ı dan Ï jika saya tahan ⇧). Ada ide?
19
Ini membuat saya gila juga, namun saya tidak ingin perbaikan spesifik Terminal karena saya tidak menggunakan Terminal, dan untuk dapat SSH ke dalam kotak OSX saya harus menggunakan ikatan kunci yang benar juga.
Juga, secara pribadi, saya tidak peduli tentang ⌥kunci seperti yang dibahas sebelumnya; Saya ingin mempertahankan kombinasi ctrl+ ←/ →yang biasa saya gunakan di Linux.
Untuk mengatasi masalah ini, saya menambahkan yang berikut ke
~/.profile
:Perhatikan dua yang pertama berlaku untuk bash di Terminal ; dua yang terakhir berlaku untuk bash di iTerm2 dan koneksi ssh masuk . Jangan tanya kenapa emulasi keyboard berbeda;)
Sebagai catatan, saya dapat menemukan apa kode kunci sebenarnya berkat petunjuk dari jawaban stackoverflow ini : Anda dapat menjalankan
cat > /dev/null
untuk memantau kode kunci yang tepat yang dikirim selama kombinasi tombol.(Perhatikan bahwa bagi saya, ketika saya menjalankan
cat > /dev/null
dan menekan ctrl+ ←itu menghasilkan^[[1;5D
. Kode kunci Anda mungkin berbeda , tetapi yang pertama^[
direpresentasikan sebagai\e
, seperti yang ditunjukkan dalam contoh kode saya.)BTW, jika Anda ingin melihat semua bash keybindings aktif, jalankan
bind -p
.sumber
xxd
untuk memeriksa input keyboard. Anda dapat melihat karakter yang ditampilkan saat Anda mengetiknya, laluxxd
memancarkan nilai dalam hex ketika Anda mengetik kembali.Pada Mac OS X Lion 10.7, Terminal memetakan ⌥- ←/ →ke esc+ B/ Fsecara default, jadi ini sekarang merupakan bawaan untuk bash dan program lain yang menggunakan ikatan kunci yang kompatibel dengan emacs ini.
sumber
jika Anda tahu cara menggunakan vi, Anda juga dapat mengaktifkan mode edit baris vi yang digunakan
set -o vi
di Anda.bash_profile
atau kapan saja di baris perintah. Kemudian Anda dapat beralih di antara perintah vi dan memasukkan mode. Jadi Anda bisa menekan escape, lalu gunakan perintah vi untuk menavigasi baris:Setelah Anda mencapai posisi yang benar, Anda dapat menggunakan perintah vi lainnya untuk masuk ke mode insert atau append, atau menghapus karakter satu per satu, dll.
sumber
ESC ^
sangat bagus ketika Anda membutuhkannya, itu hanya mengganggu ketika Anda ingin melakukan sesuatu yang lain sepenuhnya :)Buka terminal, buka preferensi, keyboard. Pada daftar Anda akan menemukan "kursor ctrl kanan" dan "kursor ctrl kiri".
Ubah tindakan yang ditugaskan untuk masing-masing “\ 033f” dan “\ 033b”, dan Anda akan dapat menggunakan ctrl+ →dan ctrl+ ←untuk bergerak, tanpa kehilangan tombol alt Anda.
sumber
Tampaknya esc+ Bdan esc+ Fdipetakan secara default untuk menuju ke awal dan akhir kata. Meskipun, untuk sistem saya, Anda tidak dapat menahan esctetapi harus menekan kembali untuk setiap kata.
sumber
Versi terbaru dari OS memetakan ini ke Spaces. Bahkan jika Spaces Anda dimatikan, tombol pintas masih bisa mengalami hubungan pendek di lokasi tersembunyi ini:
Kunci kursor Terminal.app: nonaktifkan System Preferences -> Shortcuts -> Mission Control -> Pindahkan ke kiri spasi
sumber