你们觉不觉emacs的默认键绑定有些鸡肋

查看帮助C-h,这样的黄金键位居然绑定到帮助,实在让我百思不得其解啊,一般来说,只有很频繁的操作才会绑定到这样的键位,难道用emacs还要不停的帮助? 还有另一个可能是由于历史原因引起的,就是C-m 和Enter 作用重复,Enter 这么方便的键,还要C-m干嘛,又是一个黄金键位,还有我觉得C-u C-t 也是鸡肋, 可能是我现在只理解emacs的皮毛

没考证过但是这些应该都是 verbose 的,C-f/b/n/p/h(斜杠表示 或)分别是forward back next previous help,我这两天正在考虑把C-f/b绑到C-h/l(按vim的习惯),C-n/p还是比较舒服的,就不用改了,然而这几个键位是linux终端通用的,下回终端里猛按C-h/l没反应就懵逼了,所以我想想还是没改。

不习惯就改呗,有什么大不了的。什么「黄金键位」和「很频繁的操作」都是主观感受。像 C-h v/f/oC-h k/KC-h i,虽然算不上「不停的」,但我每天都用到。至于区分 RETC-mTABC-i 等,在 GUI 或区分它们的终端下,Emacs 可以做到。

Emacs 开箱第一件事就是改 C-h,不然没法用:


;; I do not use Emacs without following settings!!!
(global-set-key (kbd "C-h") 'delete-backward-char)
(global-set-key (kbd "M-h") 'backward-kill-word)
(global-set-key (kbd "<f1>") 'help-command)
(define-key isearch-mode-map "\C-h" 'isearch-delete-char)
2 个赞

经常用 C-h 啊, C-h k , C-h f, C-h a 都是高频使用,帮助你探索emacs的功能.

不是不用帮助,而是换了一个键。C-h 改为 delete-backward-char 之后,就跟终端一致了,然后我 vi 也这样设置。

我几乎全天都在使用终端,习惯了在终端下做所有事情,包括使用 Emacs ,所以 C-h 不同设置,对我来说是非常大的干扰。

想知道将C-h改为删除之后想调原本的帮助怎么办,有没有一种方法把C-h功能全部转到另一个键上,然后C-h就只做删除的事情~

看我前面的回答:/t/emacs/905/4

每次你按 C-h 的时候换成 f1,后续的 k/v/f… 不变。

1 个赞

谢谢哈,原来这句就是就可以实现这样的功能

除了用 @twlz0ne 所提到的 F1 外,也可以自定义。比如用 M-h 代替 C-h

(global-set-key "\M-h" #'help-command)
    ⇒ help-command

除了 C-h 外的 Prefix keys 也可以自定义别的按键。

 Prefix Key  Definition                   
------------------------------------------
 C-h         help-command                 
 C-x         Control-X-prefix             
 C-c         mode-specific-command-prefix
1 个赞

这个设置太棒了,不用跑去右上角按删除了。多谢~

小拇指就按到删除键了,ctrl + h 留着向前跳转。哦,还有 ctrl + l