有时候按错键,但又不知道按的什么键或者快捷键,执行了什么命令

有时候手快按错键,就怕执行了 "删除文件"或者其他git discard hunk等等不可恢复的命令,虽然有提示,但有时候吧emmmm手快,直接摁了y (y-or-n-p PROMPT),但又不知道执行的到底是什么命令,有时候心里就没底了,心里始终有个石头悬着,会一直想着我刚才到底做了什么。。。

有些命令有提示的还好, 可以通过buffer *Messages* 查看提示消息,知道执行的命令

刚Google查了一下, 虽然可以使用 view-lossage 查看最近执行的命令,但是挺坑的就是只能记录最近140条左右记录,而且也无法自定义修改记录的数量,也无法自定义输出格式,比如加个前缀时间戳,再比如持久化保存到文件 :clown_face::clown_face: because I am the kind of man who likes logging :clown_face: :clown_face:

C-x b                  ;; ivy-switch-buffer
a                      ;; self-insert-command
C-M-j                  ;; ivy-immediate-done
i                      ;; self-insert-command
n                      ;; self-insert-command
t                      ;; self-insert-command
e                      ;; self-insert-command
r                      ;; self-insert-command
e                      ;; self-insert-command
s                      ;; self-insert-command
t                      ;; self-insert-command
i                      ;; self-insert-command
n                      ;; self-insert-command
g                      ;; self-insert-command

然而 open-dribble-file 只是记录按键,没有类似view-lossage按照每行一个按键,对应一个命令的格式

虽然view-lossage只能查看最近几条的命令,但又不是不能用 :sweat_smile: :sweat_smile:,只是以后要记得按错键盘,要立马停止继续输入,然后输入C-h l 查看

我记得陈斌提到过一个命令频率统计插件keyfreq,或许里面的代码修修改改就能用了 :grin: :grin:

Reference:

同样有这样的苦恼。尤其是对于我这种不擅长打字的菜鸟,经常容易误触,导致执行了不想要的指令,进入了某些我不熟悉的模式。虽然能恢复,但是浪费了时间,也打断了思路,非常影响工作效率。

所以最近改掉了之前喜欢抄别人 emacs 配置的坏习惯。只借鉴思路,然后根据自己的使用风格配置。如今已经不会出现按错键后搞得一团糟,不得不退出重进的窘况了。

1 个赞

Emacs 27 以及老版本记录条数为 300:

#define NUM_RECENT_KEYS (300)

自 28 (commit: 23a3333) 以后可以通过 lossage-size 函数更改。

1 个赞