Jika saya membuka jendela Terminal dan saya mengetik huruf "e" (tanpa tanda kutip tentunya) itu berbunyi bip dan tidak akan mengetikkan huruf itu. Setiap surat lainnya berfungsi dengan baik di Terminal. Huruf besar E juga berfungsi. Hanya huruf kecil e tidak.
Di setiap aplikasi lain di komputer, huruf kecil dan e berfungsi tanpa masalah, jadi ini bukan masalah keyboard.
Ini dimulai pada minggu terakhir. Saya banyak menggunakan Terminal dalam pekerjaan saya dan tidak pernah menjadi masalah. Saya telah reboot (tidak memperbaiki). Saya telah mengatur ulang terminal (tidak diperbaiki).
Karena saya tidak tahu tanggal pasti kapan ini dimulai, saya tidak yakin apakah saya membuat perubahan atau menginstal perangkat lunak. Saya mencoba menghapus apa pun yang telah saya instal baru-baru ini.
FYI Saya telah mencoba menggunakan iTerm2 pihak ke-3 dan melakukan hal yang sama.
JUGA - jika saya menempelkan sesuatu dengan e yang lebih rendah, ia melakukan hal yang sama - tidak akan menerimanya. Pasti ada beberapa masalah konfigurasi terminal bash yang saya pikir.
Sebenarnya, saya menyalin pengertian berikut dan kemudian saya menempelkannya di Terminal. Apa yang muncul? sns dan Anda dapat mendengar dua bip.
Juga - jika tidak jelas - ini terjadi dengan keyboard bawaan pada MBP serta keyboard eksternal. Berdasarkan itu dan masalah menempel, saya tidak berpikir ini adalah masalah keyboard fisik dengan cara apa pun.
Spesifikasi: 2015 MacBook Pro, sepenuhnya terkini OS X
applescript
dengan mencari sorotan, dan ketikdelay 10
lalu tekan kembali dan tulistell application "System Events" to keystroke "e"
persis seperti yang tertulis. Ketika pemutaran ditekan, itu akan menunggu 10 detik, dan kemudian tekan e dengan sendirinya. Pergi ke terminal sebelum waktu itu berakhir dan mengujinya. Jika itu tidak berhasil, maka Anda memiliki masalah internal serius dengan komputer Anda.cat filnam.txt
mana file yang dipanggilfilnam.txt
berisi beberapa teks ASCIIe
?Jawaban:
Mari kita debug itu.
$(which zsh)
.bash_profile
,.bashrc
, dll dan membuka tab terminal / jendela baru. Jika ini menyelesaikan masalah, sesuatu yang dimuat ke lingkungan shell menggunakan surat itue
untuk alasan yang mungkin tidak bisa dijelaskan oleh sains.cat
file yang berisi surate
untuk melihat apakah itu bahkan akan menampilkan: (Kredit ke @techraf)e
s dan simpan file (foo.txt
?)cat
file:cd /path/to/folder; cat foo.txt
e
s render maka terminal dapat menanganinya, jika tidak, maka ini sangat aneh.Coba applescript. (Kredit ke @ALX)
Buat file Applescript dengan konten ini:
Jalankan file skrip dan kemudian navigasi cepat ke jendela terminal. Dalam beberapa detik ini akan benar-benar menekan
e
tombol dan mudah-mudahan muncul di terminal Anda. Ini akan menunjukkan bahwa mungkin ada masalah input / driver perangkat (meskipun saya tidak tahu apa yang mungkin terjadi)Saya tidak akan berbohong, saya benar-benar terpesona dengan masalah ini dan tidak sabar untuk mengetahui apa penyebabnya. Ini bukan perangkat keras karena berfungsi di aplikasi lain, yang berarti perangkat lunak dan saya tidak bisa membayangkan siapa yang akan menelan surat
e
dengan kode.sumber
Saya baru saja menemukan utas ini setelah mengalami masalah yang sama.
.inputrc
Saya memiliki 2 baris
.inputrc
, ditambahkan saat ketidaktahuan ceroboh, dimulai dengane
dans
(yang merupakan konfigurasi bash yang valid, tetapi bukan konfigurasi readline yang valid). Mereka tampaknya telah ditafsirkan sebagai keybinding-alias untuk kustomisasi readline.Menghapus garis dari
.inputrc
, saya telah mengkonfirmasi, menyelesaikan masalah saya.Terima kasih @ user208052 untuk pengingat yang relevan untuk diperiksa
.inputrc
.Konfigurasi Readline dari shell
Perintah shell
bind
memungkinkan untuk melihat dan memodifikasi konfigurasi Readline. (Lihathelp bind
.help
Adalahman
untuk perintah shell-internal).Lihat
bind -p
(mungkin pipa ke kurang|less
atau redirect ke file> binds.txt
). Ini "daftar fungsi dan binding dalam bentuk yang dapat digunakan kembali sebagai input" .Ini memiliki entri seperti
"c": self-insert
untuk setiap karakter dalam rentang ASCII, sehingga konfigurasi yang kacau dapat digantiself-insert
dengan beberapa fungsi Readline lainnya.Ada beberapa permata; melihatnya hanya mengajarkan saya bahwa
C-=
(\e=
) mencetak kemungkinan penyelesaian, dalam konfigurasi default saya. Tampaknya menunjukkan konfigurasi Readline saat ini lengkap untuk shell Anda ... cukup berguna dan kuat. Bagus untuk dijelajahi.Tes ujung ke ujung
e
bekerjamasukkan garis yang salah
.inputrc
, buka shell barue
tampaknya no-opbind -p
(| grep -i '"E"'
) menunjukkan"E": self-insert
,"e": self-insert
"A": self-insert
dan"a": self-insert
hadir.sumber
Saya agak berkarat, tetapi menempel di Terminal bekerja berbeda dari menempel di program GUI: setiap karakter dikirim sebagai keystroke terpisah, bukan sebagai memo dari clipboard ke buffer aplikasi. Jadi jika "e" telah dipetakan kembali, itu akan dipetakan kembali di tempel juga.
Periksa lokasi berikut:
System Preferences > Keyboard > Shortcuts
~/Library/KeyBindings/KeyBindings.dict
$ defaults read com.apple.Automator NSUserKeyEquivalents
sumber
e
kunci telah dipetakan kembali.Hal lain yang dapat Anda coba, adalah mengatur Terminal untuk membuka editor teks (emacs, vi, dll) ketika jendela baru dibuka. Misalnya, dalam preferensi Terminal untuk "Shell", Anda dapat memilikinya Jalankan perintah seperti
/usr/bin/emacs
. Jika Anda tidak bisa masuk edi panel preferensi, maka sesuatu yang lebih aneh daripada apa yang telah diusulkan sejauh ini sedang terjadi ...Ketika jendela Terminal baru dibuka, emacs
akanmulai, dan Anda dapat mencoba untuk menekan edll. Saya tidak tahu apa yang akan terjadi, tetapi seperti @Pierce di atas, saya ingin tahu apa yang mungkin terjadi.sumber
Periksa pengaturan stty dan pastikan 'e' tidak sengaja diatur sebagai backspace atau serupa. Pernah ke sana, melakukan itu. Stty something \ e Would do it. Rekomendasi untuk menonaktifkan / mengomentari .bash * mungkin juga akan membukanya.
sumber
Saya memiliki masalah yang sama yang disebabkan oleh salah ketik
/etc/inputrc
:dari pada
sumber
Anehnya, saya baru saja menjalankan macOS 10.13.6 di MacBook Air. Satu pengguna baik-baik saja, terminal pengguna admin yang menjalankan bash tidak akan menerima huruf kecil 'a'- tidak mengetik, tidak menempel, dll. Menjalankan zsh itu akan baik-baik saja. Pengguna lain, baik. Saya pikir ini telah terjadi sebelumnya dan memperbaikinya dengan menghapus file / Pengguna / admin / file, dan .bash_profile. Saya menambahkannya kembali dan berfungsi. Anehnya tidak ada yang penting dalam file-file ini. .inputrc hanya "setel penyelesaian-abaikan-case Aktif", dan ada beberapa alias baris perintah di .bash_profile. Jujur, ada hal lain yang mungkin terjadi tetapi bekerja untuk saat ini.
Sepertinya saya ingat harus menghapus dan menambahkan kembali file-file ini atas masalah ini. Yah, file-file ini mungkin memicu atau mengatur ulang masalah setidaknya.
sumber
Hapus saja file .inputrc, itu ada di direktori root. (Ini file tersembunyi).
sumber