如何在emacs中保存点下的角色

如何在emacs中保存点下的角色,emacs,keyboard-shortcuts,Emacs,Keyboard Shortcuts,我有一个在我的一个文件中经常使用的特殊unicode字符列表。 为了避免一直输入(和学习)unicode数字,我只想在文件顶部有一行这些字符(只有25个符号),并在需要时保存/拖动它们 我找不到合适的快捷方式来保存点下的字符,尽管…这与复制其他内容没有什么不同。将点移动到要复制的字符,用C-SPC设置标记,向前移动一个字符,使区域覆盖感兴趣的字符,并用M-w保存到杀死环 或者你可以这样做: (将我的复制字符定义为kill(pos) “将点(或位置)处的字符复制到压井环。” (互动式“d”) (如

我有一个在我的一个文件中经常使用的特殊unicode字符列表。 为了避免一直输入(和学习)unicode数字,我只想在文件顶部有一行这些字符(只有25个符号),并在需要时保存/拖动它们


我找不到合适的快捷方式来保存点下的字符,尽管…

这与复制其他内容没有什么不同。将点移动到要复制的字符,用C-SPC设置标记,向前移动一个字符,使区域覆盖感兴趣的字符,并用M-w保存到杀死环

或者你可以这样做:

(将我的复制字符定义为kill(pos)
“将点(或位置)处的字符复制到压井环。”
(互动式“d”)
(如果(eobp)
(错误“缓冲区结束”。)
(将区域复制为kill pos(1+pos))
(何时(称为-interactively-p'interactive)
(let((打印转义换行符t))
(消息“%S”(字符到字符串(在位置‘‘‘‘‘‘‘‘‘‘‘)之后的字符)
(全局设置键(kbd“C-C”)'我的复制字符为kill)

这和复制其他东西没什么区别。将点移动到要复制的字符,用C-SPC设置标记,向前移动一个字符,使区域覆盖感兴趣的字符,并用M-w保存到杀死环

或者你可以这样做:

(将我的复制字符定义为kill(pos)
“将点(或位置)处的字符复制到压井环。”
(互动式“d”)
(如果(eobp)
(错误“缓冲区结束”。)
(将区域复制为kill pos(1+pos))
(何时(称为-interactively-p'interactive)
(let((打印转义换行符t))
(消息“%S”(字符到字符串(在位置‘‘‘‘‘‘‘‘‘‘‘)之后的字符)
(全局设置键(kbd“C-C”)'我的复制字符为kill)

这里还有另一种方法,特别是如果你不使用太多这样的字符,也不想摆弄输入法的话

下载库并将其放入您的
加载路径
(字节编译)。然后将其放入init文件(~/.emacs):

然后使用
M--C-x 8 RET
并使用补全输入所需字符的Unicode名称或代码点。这做了两件事:
C-x 8 RET
在光标前插入您选择的字符。
M--
使它也可以创建与角色同名的命令。然后可以将该命令绑定到一个方便的键序列。例如:

M-- C-x 8 RET greek small letter lambda RET
它定义了命令
希腊文小写字母lambda
,您可以将其绑定到某个键序列

如果要同时为多个Unicode字符定义此类命令,可以使用宏
ucsc make commands
来执行。请参阅文件
ucs cmds.el
中的注释。为宏提供一个regexp。它与所有Unicode字符名匹配。将为名称匹配的每个字符创建一个插入命令

命令创建示例:

 (ucsc-make-commands "^math") ; Math symbols
 (ucsc-make-commands "latin") ; Latin alphabet characters
 (ucsc-make-commands "arabic")
 (ucsc-make-commands "^cjk")  ; Chinese, Japanese, Korean characters
 (ucsc-make-commands "^box drawings ")
 (ucsc-make-commands "^greek [a-z]+ letter") ; Greek characters
 (ucsc-make-commands "\\(^hangul\\|^circled hangul\\|^parenthesized hangul\\)")

这是另一种方法,特别是如果你不使用很多这样的字符,也不想摆弄输入法的话

下载库并将其放入您的
加载路径
(字节编译)。然后将其放入init文件(~/.emacs):

然后使用
M--C-x 8 RET
并使用补全输入所需字符的Unicode名称或代码点。这做了两件事:
C-x 8 RET
在光标前插入您选择的字符。
M--
使它也可以创建与角色同名的命令。然后可以将该命令绑定到一个方便的键序列。例如:

M-- C-x 8 RET greek small letter lambda RET
它定义了命令
希腊文小写字母lambda
,您可以将其绑定到某个键序列

如果要同时为多个Unicode字符定义此类命令,可以使用宏
ucsc make commands
来执行。请参阅文件
ucs cmds.el
中的注释。为宏提供一个regexp。它与所有Unicode字符名匹配。将为名称匹配的每个字符创建一个插入命令

命令创建示例:

 (ucsc-make-commands "^math") ; Math symbols
 (ucsc-make-commands "latin") ; Latin alphabet characters
 (ucsc-make-commands "arabic")
 (ucsc-make-commands "^cjk")  ; Chinese, Japanese, Korean characters
 (ucsc-make-commands "^box drawings ")
 (ucsc-make-commands "^greek [a-z]+ letter") ; Greek characters
 (ucsc-make-commands "\\(^hangul\\|^circled hangul\\|^parenthesized hangul\\)")

如果适用,您可能更喜欢使用现有的输入法,因为它们非常适合简化字符合成。有关示例,请参见
M-x描述输入法RET latin-4-postfix RET
。有关使用该机制的详细信息,请参阅
C-hig(emacs)选择输入法RET
。我还想看一看另一个技巧:将你的25个字符映射到
C-x 8
后面。如果适用,你可能更喜欢使用现有的输入法,因为它们非常适合简化字符组合。有关示例,请参见
M-x描述输入法RET latin-4-postfix RET
。有关使用该机制的详细信息,请参阅
C-hig(emacs)选择输入法RET
。我还要看一看另一个技巧:将你的25个字符映射到
C-x8
后面。当然,这非常有效,尽管我仍然有点惊讶,这不是预定义的。。。但我想,除了少数几个字符外,输入法是最好的选择。当然,这非常有效,尽管我仍然有点惊讶,因为这不是预定义的。。。但我想,除了少数几个字符之外,输入法将是一条出路。