Bagaimana cara mengetahui perintah apa yang secara tidak sengaja saya jalankan dengan pintasan keyboard?

11

Apakah ada tempat di mana emacs store memerintahkan pengguna baru-baru ini dieksekusi, khususnya melalui pintasan keyboard, dan jika tidak, apakah mungkin untuk mengatakannya untuk menyimpannya di suatu tempat? Terkadang saya mengetik pintasan keyboard yang salah secara tidak sengaja dan saya tidak tahu apa yang saya lakukan. Saya membatalkannya, tetapi saya cenderung mengulangi jalan pintas yang tidak disengaja ini sesekali, dan saya tidak tahu bagaimana mencari tahu apa yang sebenarnya saya tekan atau perintah apa yang saya jalankan.

Saya tahu cara menentukan perintah apa yang terikat pada kunci. Masalah saya adalah bahwa saya tidak tahu perintah atau tombol yang saya tekan, hanya efek apa yang mereka miliki dan fakta bahwa saya baru saja melakukannya.

Zorgoth
sumber
Meskipun beberapa fungsi secara khusus diatur last-commandke sesuatu yang istimewa, untuk sebagian besar Anda hanya dapat memeriksa nilai variabel itu untuk melihat perintah terakhir terbaru.
hukum

Jawaban:

14

Ketika beberapa urutan kunci memicu perintah yang tidak terduga, gunakan view-lossage(terikat C-h lsecara default) untuk melihat apa yang baru saja diterima Emacs. Ini paling berguna karena Emacs 25 seperti sekarang juga menunjukkan perintah yang dipanggil oleh setiap urutan tombol. Dalam rilis sebelumnya Anda hanya akan melihat penekanan tombol mentah.

glukas
sumber
6

Seperti @glucas telah sebutkan, view-lossagemembantu. Sayangnya, ini menampilkan acara yang relatif sedikit, dan pengguna tidak memiliki kendali atas jumlahnya.

Seperti yang C-h k C-h lAnda katakan, Anda dapat merekam semua karakter keyboard dengan menggunakan open-dribble-file:

view-lossageadalah fungsi Lisp interaktif yang dikompilasi di help.el.

Hal ini terikat untuk C-h l, <f1> l, <help> l.

(view-lossage)

Tampilkan beberapa penekanan tombol input terakhir dan perintah dijalankan.

Untuk merekam semua input Anda, gunakan open-dribble-file.


open-dribble-fileadalah fungsi bawaan interaktif di C source code.

(FILE file dribble terbuka)

Mulailah menulis semua karakter keyboard ke file dribble yang disebut FILE.

Jika FILEadalah nil, dekat setiap membuka file menggiring bola. File akan ditutup ketika Emacs keluar.

Ketahuilah bahwa ini merekam SEMUA karakter yang Anda ketikkan! Ini mungkin termasuk informasi sensitif seperti kata sandi.

Drew
sumber