Files
.emacs.d/lisp/init-segmentation.el
2026-03-15 12:56:10 +08:00

33 lines
1.3 KiB
EmacsLisp

;;; init-segmentation.el
;;; -*- lexical-binding: t -*-
;; emacs-chinese-word-segmentation 配置
(when *is-windows*
(add-to-list 'load-path "D:/emacs/emacs-chinese-word-segmentation")
;; 设置为进程调用方式
(setq cns-process-type 'shell)
;; 设置可执行文件路径
(setq cns-prog "D:/emacs/emacs-chinese-word-segmentation/cnws.exe")
;; 设置字典目录
(setq cns-dict-directory "D:/emacs/emacs-chinese-word-segmentation/cppjieba/dict")
;; 直接设置进程命令,绕过 Windows shell 检测
(setq cns-process-shell-command
(format "%s %s %s %s %s %s"
cns-prog
(concat (file-name-as-directory cns-dict-directory) "jieba.dict.utf8")
(concat (file-name-as-directory cns-dict-directory) "hmm_model.utf8")
(concat (file-name-as-directory cns-dict-directory) "user.dict.utf8")
(concat (file-name-as-directory cns-dict-directory) "idf.utf8")
(concat (file-name-as-directory cns-dict-directory) "stop_words.utf8")))
;; 其他配置
(setq cns-recent-segmentation-limit 40)
(require 'cns nil t)
;; 自动启动
(when (featurep 'cns)
(add-hook 'find-file-hook 'cns-auto-enable))
;; 取消C-<backspace>绑定
(with-eval-after-load 'cns
(define-key cns-mode-map (kbd "C-<backspace>") nil)))
(provide 'init-segmentation)