Apa cara terbaik untuk mendeteksi penekanan tombol (misalnya melalui kail) yang tidak mengedit buffer? Maksud saya hal-hal seperti tombol panah untuk gerakan titik, panggilan ke beginning-of-buffer, dll.
Alasan untuk ini adalah bahwa saya sedang mengerjakan beberapa ycmdbinding untuk emacs, dan saya ingin dapat mendeteksi (setidaknya secara heuristik) ketika pengguna telah berhenti mengedit dan bergerak di sekitar buffer. Ini adalah saat yang tepat untuk mengirim konten buffer untuk parsing. Klien vim melakukan ini ketika pengguna keluar dari mode penyisipan, dan saya mencoba untuk meniru perilaku itu.
self-insert-commanduntuk membatalkan dan menjadwal ulang penghitung waktu alih-alih menggunakan penghitung waktu idle. Dengan cara ini, bahkan jika pengguna melakukan sesuatu, penghitung waktu tidak diatur ulang kecuali "sesuatu" adalah penyisipan teks.
after-change-functionsadalah mekanisme umum untuk bereaksi terhadap perubahan teks.
post-command-hook. Itu akan memicu semuanya, jadi Anda mungkin perlu memfilter apa yang memicu sebelum mengambil tindakan apa pun yang Anda inginkan.
buffer-chars-modified-tickfungsinya mungkin bermanfaat.