用于§的键绑定;Emacs中的符号
我在Ubuntu中工作,但是由于插入unicode字符的标准方式(Ctrl+Shift+U,以及之后的unicode代码)在emacs中不起作用,我在我的用于§的键绑定;Emacs中的符号,emacs,unicode,keystroke,Emacs,Unicode,Keystroke,我在Ubuntu中工作,但是由于插入unicode字符的标准方式(Ctrl+Shift+U,以及之后的unicode代码)在emacs中不起作用,我在我的.emacs中对我经常使用的不同unicode符号进行了一些击键,例如: (global-set-key (kbd "C-c b") "☛") 每个符号都可以正常工作,除了符号§,当我使用相应的击键时,它被一个简单的破折号(“-”)代替: (global-set-key (kbd "C-c y") "§") 问题是,是什么使此符号与其他符号
.emacs
中对我经常使用的不同unicode符号进行了一些击键,例如:
(global-set-key (kbd "C-c b") "☛")
每个符号都可以正常工作,除了符号§,当我使用相应的击键时,它被一个简单的破折号(“-”)代替:
(global-set-key (kbd "C-c y") "§")
问题是,是什么使此符号与其他符号不同?如何解决我的问题?
global set key
通常需要一个函数,因此这应该可以工作:
(global-set-key (kbd "C-c y") (lambda () (interactive) (insert "§")))
但最好使用出色的插入字符功能:
(global-set-key (kbd "<f2> u") 'insert-char)
(全局设置键(kbd“u”)'插入字符)
它理解十六进制Unicode以及文本描述(包括完整和全部)。
只需按TAB键查看完成情况。您可以通过执行C-x8RET
RET在emacs中插入unicode字符。因此,要插入§
请执行C-x8RET00A7RET
如果愿意,可以将insert char
(C-x8RET运行的命令)绑定到更简单的键,或者定义自定义函数并将其绑定到键,如下所示
(global-set-key (kbd "C-c y") (lambda () (interactive) (insert "§")))
快速插入大量Unicode字符的一般解决方案是为每个字符定义一个命令,专门用于插入字符,并将该命令绑定到一个简单的键序列
这实际上是@abo abo和@Iqbal以以下形式向您提供的:
(lambda () (interactive) (insert "§")))
如果要为多个这样的字符创建这样的命令,则
库可以通过两种方式提供帮助:
- 它提供了一个宏,
ucsc make commands
,让您可以一下子为整个Unicode字符范围定义命令。例如:
(global-set-key (kbd "C-c b") "☛")
(ucsc make commands“^cjk”)
为每个中文、日文和韩文Unicode字符定义一个插入字符命令
(ucsc生成命令“^希腊文[a-z]+字母”)
对每个希腊文字母执行相同的操作
(ucsc使命令为“阿拉伯语”)
对每个阿拉伯字符执行相同的操作
- 它为
C-x 8 RET
提供了一个替换命令(ucsc insert
),其作用与普通命令(insert char
)完全相同,只是如果您给它一个负前缀参数,那么它不仅会插入您选择的char,而且还会为它创建一个插入命令(即宏批量创建的命令类型)
宏ucsc-make-commands
和命令ucsc-insert
创建的命令名与字符本身的Unicode名称完全相同,只是它们是小写的,并且用连字符(-
)代替空格字符。是的,我知道,但这种方法太“恼人”当我需要经常写这个符号的时候。