我有一个我经常在我的一个文件中使用的特殊 unicode 字符的列表。为了避免一直输入(和学习)unicode 数字,我只想在文件顶部有一行包含这些字符(只有 25 个符号),并在需要时保存/拉动它们。
我找不到正确的快捷方式来保存该点下的角色......
我有一个我经常在我的一个文件中使用的特殊 unicode 字符的列表。为了避免一直输入(和学习)unicode 数字,我只想在文件顶部有一行包含这些字符(只有 25 个符号),并在需要时保存/拉动它们。
我找不到正确的快捷方式来保存该点下的角色......
这与复制其他任何内容没有什么不同。将点移动到要复制的角色,用 设置标记C-SPC,向前移动一个角色,使区域覆盖感兴趣的角色,然后用 保存到杀戮环M-w。
或者你可以做这样的事情:
(defun my-copy-character-as-kill (pos)
"Copy the character at point (or POS) to the kill ring."
(interactive "d")
(if (eobp)
(error "End of buffer.")
(copy-region-as-kill pos (1+ pos))
(when (called-interactively-p 'interactive)
(let ((print-escape-newlines t))
(message "%S" (char-to-string (char-after pos)))))))
(global-set-key (kbd "C-c c") 'my-copy-character-as-kill)
这是另一种方法,特别是如果不使用很多这样的字符并且不想摆弄输入法。
下载库ucs-cmds.el
并将其放入您的load-path
(字节编译它)。然后把它放在你的初始化文件(~/.emacs)中:
(require 'ucs-cmds)
(define-key global-map [remap insert-char] 'ucsc-insert)
然后使用M-- C-x 8 RET
并使用补全来输入你想要的字符的 Unicode 名称或代码点。这有两件事:C-x 8 RET
在光标之前插入您选择的字符。这M--
使得它还创建一个与角色同名的命令。然后,您可以将该命令绑定到一个方便的键序列。例如:
M-- C-x 8 RET greek small letter lambda RET
这定义了 command greek-small-letter-lambda
,您可以将其绑定到某个键序列。
如果您想一次为多个 Unicode 字符定义此类命令,则可以改为使用宏ucsc-make-commands
来执行此操作。请参阅文件中的注释ucs-cmds.el
。您为宏提供了一个正则表达式。它与所有 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\\)")