Files
.emacs.d/lisp/init-segmentation.el
andsy10 aa4dea523e style(config): Reformat Emacs Lisp code for consistency
Standardize formatting across multiple init files: expand
single-line use-package keywords onto separate lines, fix
indentation, remove outdated comments, and clean up whitespace. Also
adds mc/keymap <return> binding and improves fcitx5 startup logic in
EXWM.
2026-05-11 03:40:06 +08:00

59 lines
2.0 KiB
EmacsLisp

;;; init-segmentation.el --- Chinese segmentation config -*- lexical-binding: t -*-
;;; Commentary:
;;; 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"))))
(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)
;; 自动启动
(when (featurep 'cns)
(add-hook 'find-file-hook 'global-cns-mode))
;; 取消C-<backspace>绑定
(with-eval-after-load 'cns
(define-key cns-mode-map (kbd "C-<backspace>") nil))
;; vterm下关闭cns-mode
(add-hook 'vterm-mode-hook
(lambda ()
(run-at-time 0 nil
(lambda ()
(when (derived-mode-p 'vterm-mode)
(cns-mode -1))))))
(provide 'init-segmentation)
;;; init-segmentation.el ends here