所以在 init.el里面创建一个命令,然后 (keymap-global-set “f f” 'f1),但是报错: error: Key sequence f f starts with non-prefix key f, 我现在不想要前缀,就想用双击ff输入左括弧, 这样方便,该怎么弄?
多谢,这就是我想要的
我现在是通过 snippet
# -*- mode: snippet -*-
# name: {
# key: r
# --
{$1}$0
然后我的 company 会设置下 delay,如果我想通过 snippet 只需要 r 之后马上按一下 tab 就会扩展成 {$cursor} 然后再按下 tab会跳到末尾 {content}$cursor
可以试试在输完 content 之后, {content$cursor} 状态再按 C-f 右移光标到达 {content}$cursor
也可以,不过对我来说 tab 更好按一些,特别我是 dvorak, f 相对 qwerty 更远
这个不是你想不想要前缀的问题。因为单独敲击f键代表输入f,所以当你敲下第一个f时,Emacs就不知道是要直接输入f还是等待你敲击下一个f,因此这个keybinding是无效的。有效的keybinding——例如C-x b——这个C-x本身并没有绑定任何动作,这样Emacs就能知道要等待你敲下一个键。换句话说,Emacs是没有“双击键盘”这种说法的,所谓双击f在Emacs看来就是两次单击f
有一个包 evil-escape
实现了通过快速按 fd
来退出 insert state,这两个按键单独按时,是输入相应的字符,但是连按时(两个字符的输入间隔小于 evil-escape-delay
,比如 0.1s),那么就会触发此功能。
可以参考一下,但是可能实现会比较复杂和不够优雅。
Definition:
It can be improved by checking a delay.
Example:
Or:
多谢你的帮助
但是我用abbrev 已经实现了
多谢你的帮助,我用abbrev 已经实现了