首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs:重新绑定编号( Beast VI VI的编辑)

Emacs:重新绑定编号( Beast VI VI的编辑)
EN

Stack Overflow用户
提问于 2014-03-31 09:36:12
回答 2查看 147关注 0票数 3

刚从维来埃马克斯。

我希望将键盘顶部的所有数字重新绑定到它们移动的对应方(即1张映射到!,2张映射到@等),同时将数字键盘数字保持为简单数字。

我把数字重新映射得很好,键盘顶部的数字正确地映射到符号;然而,这也将键盘数字映射到符号。作为回应,我试图再次将键盘数字重新映射回数字,但这是不成功的--它们作为符号保留。

当我使用vi时,这是简单而容易实现的,但我更愿意继续使用Emacs。有人找到解决办法了吗?

样本.emacs:

代码语言:javascript
复制
(global-set-key "1" "!")
; etc...

(global-set-key [kp-1] "1")
; etc...
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-31 09:55:41

也许是这样的:

代码语言:javascript
复制
(global-set-key (kbd "<kp-1>") "1")
(keyboard-translate ?1 ?!)

实际上,我会使用xmodmap来改变整个系统的密钥,而不仅仅是Emacs。

票数 5
EN

Stack Overflow用户

发布于 2014-03-31 10:51:21

试试这个:

代码语言:javascript
复制
(global-set-key "1" "!")
(global-set-key [kp-1] (lambda () (interactive) (insert "1")))

我使用(lambda () (交互式).)在global-set-key中频繁使用并为其创建别名:

代码语言:javascript
复制
(defmacro ilam (&rest body)
  "Interactive lambda"
  `(lambda ()
     (interactive)
     ,@body))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22758213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档