emacs如何定义要从当前位置删除到行首的热键C-u

emacs如何定义要从当前位置删除到行首的热键C-u,emacs,registerhotkey,Emacs,Registerhotkey,我知道C-U0C-k可以做到这一点,但我真的希望使用C-Udelete从当前位置到行的开头,就像bash readline一样 不,你真的不想那样做——相信我C-u在Emacs中太重要了,不能用于其他用途。用另一个键来代替C-u所做的事情,最终对你来说是一件痛苦和麻烦的事,IMHO 相反,找到一些您熟悉的其他键,并将其指定给执行您所需操作的命令。例如,重新绑定已绑定到您并不真正关心的命令的密钥(例如M-k) 例如: (defun kill-to-bol () "Kill text from

我知道C-U0C-k可以做到这一点,但我真的希望使用C-Udelete从当前位置到行的开头,就像bash readline一样

不,你真的不想那样做——相信我<代码>C-u在Emacs中太重要了,不能用于其他用途。用另一个键来代替C-u所做的事情,最终对你来说是一件痛苦和麻烦的事,IMHO

相反,找到一些您熟悉的其他键,并将其指定给执行您所需操作的命令。例如,重新绑定已绑定到您并不真正关心的命令的密钥(例如
M-k

例如:

(defun kill-to-bol ()
  "Kill text from point to beginning of line."
  (interactive)
  (kill-region (point) (line-beginning-position)))

(global-set-key "\M-k" 'kill-to-bol)

我同意这一点,尽管我已将
C-u
绑定到
undo
。我很久以前就重新考虑过它,认为我不需要
通用参数
。现在我需要它,但我不能将它绑定到C-u,因为它现在是肌肉记忆。现在是
-u
相反。谢谢你的帮助和建议,但正如@abo abo所说,我认为我不需要万能参数,我真的希望在bash和emacs中使用相同的热键,所以我坚持使用C-u。当我发现需要时,也许我会将universal argumant绑定到另一个键。只需确保在实际需要
universal argument
时,不会用完单和弦快捷键即可。一定是一个和弦。@XiaorongLiao:我打赌你会发现你需要/想要
通用参数
。。。这是Emacs的奇迹之一,特别是如果你自己编写命令——你可以用相同的基本键序列获得多种行为。@Drew:哈哈,我刚刚看到了,你是说中文(唐宝和皮驹)吗汤包和啤酒)? 我已经将万能论与A-u绑定在一起。非常感谢您的帮助:)