自定义快捷键时发现将C-i绑定成别的‘left-word,TAB也跟着一起变成’left-word了,请教如何解除这种捆绑
这个是比较基础的东西
(info “emacs”)
看 43.3.9
但是也有人 把 CapsLock 映射成了 Tab
caps那位置适合enter,试用了很久,ctrl还是掌压法最舒适。华硕fx80自带的键盘实在贴心,右ctrl特意加大设计,无比舒服
居然一直不知道 C-i和TAB的ascii值是一样的:joy:
1 个赞
很多模式都已经绑定了 Tab 键(ASCII Code 9)
;; ASCII Code Horizontal Tab 9
(= 9 ? ?\t ?\C-i)
;; => t
非要区分会比较麻烦
;; 键盘上的 Tab
(global-set-key (kbd "<tab>") #'indent-for-tab-command)
;; 键盘上的 C-i
(global-set-key (kbd "TAB") #'emacs-version)
除非你不想用键盘上的 Tab 来补全、缩进等等,你可以只绑定 (kbd "<tab>")
。
1 个赞
我参考了 SO 一个答案,这么搞(不知道有没什么副作用,对我来说暂时还没有):
;; https://stackoverflow.com/a/11319885/910978
(define-key input-decode-map (kbd "C-i") (kbd "H-i"))
(global-set-key (kbd "H-i") #'counsel-ag)
在stackoverflow上找到相应的解答,不过既然是这么基础的"绑定",我还是默默接受吧
首先要看是GUI还是terminal,如上面manual所说,GUI可以区分,term不行。
edit: 试了一下,似乎要绑(kbd "<C-i>")
才可以成功,而(kbd "TAB")
不行。