refactor(segmentation): clean up cns config with use-package

This commit is contained in:
2026-06-11 01:56:42 +08:00
parent 78923f950c
commit 5c7391dcf8
6 changed files with 37 additions and 37 deletions

View File

@@ -5,37 +5,38 @@
;;; Code:
;; emacs-chinese-word-segmentation
(cond
(*is-windows*
(add-to-list 'load-path "h:/emacs/emacs-chinese-word-segmentation/") ;设置为进程调用方式
(setq cns-process-type 'shell) ;设置可执行文件路径
(setq cns-prog "h:/emacs/emacs-chinese-word-segmentation/cnws.exe") ;设置字典目录
(setq cns-dict-directory "h:/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"))))
(use-package cns
:straight nil
:hook
(after-init . require-cns)
(after-init . global-cns-mode)
:init
(cond
(*is-windows*
(add-to-list 'load-path "h:/emacs/emacs-chinese-word-segmentation/") ;设置为进程调用方式
(setq cns-process-type 'shell) ;设置可执行文件路径
(setq cns-prog "h:/emacs/emacs-chinese-word-segmentation/cnws.exe") ;设置字典目录
(setq cns-dict-directory "h:/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"))))
(t
(add-to-list 'load-path "~/emacs-stuff/emacs-chinese-word-segmentation/")
(setq cns-process-type 'shell)
(setq cns-prog "~/emacs-stuff/emacs-chinese-word-segmentation/cnws")
(setq cns-dict-directory "~/emacs-stuff/emacs-chinese-word-segmentation/cppjieba/dict/")))
(t
(add-to-list 'load-path "~/emacs-stuff/emacs-chinese-word-segmentation/")
(setq cns-process-type 'shell)
(setq cns-prog "~/emacs-stuff/emacs-chinese-word-segmentation/cnws")
(setq cns-dict-directory "~/emacs-stuff/emacs-chinese-word-segmentation/cppjieba/dict/")))
;; 其他配置
(setq cns-recent-segmentation-limit 40)
(require 'cns nil t)
:config
(defun require-cns ()
(require 'cns nil t))
;; 自动启动
(when (featurep 'cns)
(add-hook 'after-init-hook 'global-cns-mode))
;; 取消C-<backspace>绑定
(with-eval-after-load 'cns
(setq cns-recent-segmentation-limit 40)
(define-key cns-mode-map (kbd "C-<backspace>") nil))
(provide 'init-segmentation)