Saya mencoba menjalankan Emacs di terminal. Saya telah mengaktifkan "opsi penggunaan sebagai meta" di preferensi terminal dan jadi sekitar 95% berfungsi dengan baik.
Urutan kunci ctrl- / (atau dalam notasi Emacs C- /) adalah "undo". Urutan kunci ini hanya menyebabkan terminal membunyikan bel. Bagaimana cara saya memperbaikinya?
Jawaban:
Kontrol-
/
bukan bagian dari rangkaian kode kontrol standar . Ini tidak secara langsung direpresentasikan sebagai keystroke di banyak emulasi terminal. Keystroke semacam itu hanya dapat dideteksi dengan tepat di "mode scancode" khusus platform atau "mode GUI" (di mana API memberi tahu Anda secara tepat tombol dan pengubah mana yang sedang digunakan). Emulator terminal Anda berbunyi bip karena secara efektif keystroke yang tidak valid.Kode kontrol standar hanya mencakup versi "Kontrol" dari
@
A
-Z
[\]^_
(ASCII 0 - 31), dan?
(ASCII 127)Di sebagian besar program emulator terminal yang menjalankan sebagian besar tata letak kunci AS, Anda mungkin perlu menekan Shiftuntuk membuat beberapa "kode kontrol":
@
merupakan Shift2)^
merupakan Shift6)_
merupakan Shift-)?
itu Shift/); C-? biasanya dihasilkan oleh salah satu Backspace(pada keyboard Apple, kunci berlabel "hapus" tanpa simbol tambahan ⌦) atau Delete(yang dengan ⌦ pada keyboard Apple).Di Emacs berbasis tty, Anda biasanya dapat menggunakan C-_ untuk
undo
alih - alih C- /.sumber
Ctrl- / mengirim 0x1f yang setara dengan Ctrl-_ sejak zaman VT102. Ada banyak emulator VT100 tetapi sebenarnya emulator VT102. iTerm2 berfungsi karena mengikuti perilaku ini.
Hanya emulator yang benar-benar sesuai dengan spesifikasi VT100 yang tidak dapat mengirim Ctrl- /. Saya percaya aplikasi Terminal adalah salah satunya.
VT100 menutupi 2 bit paling signifikan dari 7 bit ASCII ketika tombol kontrol ditekan. / is 0x2f, o adalah 0x6f. Ketika 2 bit bertopeng keduanya 0x0f. VT100 dapat mengirim Ctrl-o tetapi tidak Ctrl- /.
sumber