Apakah ada cara untuk mengikat C-[
sesuatu dan tidak semua M-
binding (Meta) kacau?
Bukan pertama kali pertanyaan ini muncul. Sayangnya, satu-satunya solusi yang ditawarkan di utas sebelumnya adalah a) spesifik Linux, b) membutuhkan alat eksternal (lagi spesifik Linux) yang tidak ada hubungannya dengan Emacs. Dalam nada yang sama saya bisa menggunakan sesuatu seperti Karabiner pada OS X untuk mencuri C-[
urutan sebelum Emacs pernah mendapatkannya tetapi ini kikuk dan mahal.
Mengingat bahwa itu adalah Emacs yang bersikeras menerjemahkan C-[
ke ESC
, C-i
untuk TAB
dan mungkin orang lain saya akan sangat banyak seperti untuk memecah hubungan ini dan mendapatkan urutan kunci yang berharga kembali. Baru-baru ini saya berlari dengan kecepatan penuh ke masalah ini dan menyalahkan mode smartparens yang tidak bersalah .
Solusi yang mungkin yang terlibat function-key-map
dan key-translation-map
telah dibahas di sini tetapi sayangnya itu tidak lagi berfungsi atau tidak berfungsi sejak awal (atau saya melakukan sesuatu yang salah). Saya pikir itu akan ke arah yang benar.
sumber
C-[
keESC
". Keduanya adalah hal yang sama . Demikian juga,C-i
danTAB
nama yang berbeda untuk kode kontrol ASCII yang sama .C-[
(tekanCtrl
dan tekan[
) ke karakterC-[
kontrol (alias karakter), tetapi tidak, itu tidak wajib bagi seseorang yang merancang editor. Dan ya, Emacs yang melakukannya. dan karakter yang sama, tetapi tombol + dan tidak perlu dipetakan ke karakter tertentu.ESC
C-[
ESC
Ctrl
[
Esc
Jawaban:
Diadaptasi dari konfigurasi saya sendiri :
Ini jelas hanya akan bekerja di GUI.
edit: Perhatikan bahwa itu
input-decode-map
adalah terminal-lokal yang berarti memodifikasi itu tidak akan berfungsi jika Anda menggunakanemacsclient
, tetapi akan dilakukan jika Anda menggunakanemacs
. Saya telah memperbaiki masalah di konfigurasi saya dengan membungkusnya dalam perintah yang beroperasi pada bingkai dan menambahkannya keafter-make-frame-functions
hook.sumber
<C-i>
dan<C-[>
terikat kembali keTAB
danESC
di peta-global seperti yang Anda sarankan di flat konfigurasi Anda crash Emacs saya setiap kali saya menekan mereka: