众所周知, Emacs并没有内置中文分词系统, 以至于 forward-word
和 backward-word
以及 kill-word
等以单词为单位的操作只能粗暴的标点符号进行确定所谓”词汇”,
(其实是中文里的句子).
jieba.el
利用nodejieba对buffer中的中文句子进行分割, 并且增强了上述以词为单位的
操作, 使使用Emacs处理中文文本的体验更加流畅.
注: 该图片文字来源于维基百科, 遵循CC BY-SA 3.0条款使用
执行以下命令安装nodejieba
npm install
从GNU ELPA安装jieba.el的依赖jsonrpc,
然后将jieba.el放入你emacs的 load-path
中, 在 .emacs
文件中写入
(require 'jieba)
(jieba-mode)
你也可以使用 use-package
(use-package jieba
:load-path "/path/to/jieba"
:commands jieba-mode
:init (jieba-mode))
启用 jieba-mode
后, jieba.el
会自动重新映射 forward-word
, backward-word
,
kill-word
, backward-kill-word
, 到对应的jieba增强版本上.
你也可以自行定义 jieba-mode-map
来修改这些操作的按键绑定
按键名 | Action |
---|---|
jieba-forward-word | 向前移动一个中英文单词 |
jibea-bacward-word | 向后移动一个中英文单词 |
jieba-kill-word | 删除光标后的一个中文单词 |
jieba-backward-kill-word | 删除光标前的一个中文单词 |
jieba-mark-word | 选中光标下的一个中文单词 |
欢迎提交PR和Issue report.
- chinese-word-at-point.el
- 另一个使用jieba分词进行中文分词的package.
- pyim
- 一个Emacs内部的中文输入法, 提供了按其输入词库进行分词的功能.