今日(きょう)(さわ)がしく(たわむ)れ生きる人々の漫画映画(まんがえいが)

Emacs Notes

随便记录一下。

系统是 linux,所以 windows 不一定适用。

按中文字词移动光标

Emacs 的 Alt-fAlt-b 是很常见的移动光标的快捷键,分别是跳过一个词以及跳回上一个词的开始。但是这一点对于中文其实是不适用的——emacs 会把连在一起的中文字符全部看作一个词。利用一些分词手法我们可以让 emacs 也能够顺利找到中文的词的开头和结尾。

可见这里 https://github.com/kanglmf/emacs-chinese-word-segmentation

之后有空我再试着转述一遍。

把 emacs 弄成开机启动以及后台常驻

开启了上面说的中文分词后你大概会发现 emacs 的每次启动都卡顿一两秒。这不方便,我们可以让 emacs 开机启动并后台常驻,让分词不需要每次都初始化。

zh_CN.UTF-8 相关的是中文输入法需要的。之后再写。

[Unit]
Description=Emacs text editor
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/

[Service]
Type=notify
Environment=LC_CTYPE=zh_CN.UTF-8
ExecStart=/usr/bin/emacs --fg-daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Restart=on-failure

[Install]
WantedBy=default.target

将上面的配置保存到 ~/.config/systemd/user/emacs-zh.service 里,命令行开启:

$ systemctl --user daemon-reload
$ systemctl --user start emacs-zh.service
$ systemctl --user enable emacs-zh.service

再到 .bashrc 或者是 .zshrc 或者是你自己用的 shell 的配置文件里配置平时的 emacs 使用后台的 emacs,添加下面一行:

alias emacs='LC_CTYPE=zh_CN.UTF-8 emacsclient -c'

如果有什么启动器或者快捷方式之类的改过来:(如果只想要复制的话下图那句是 env LC_CTYPE=zh_CN.UTF-8 emacsclient -c %F

/images/emacs-launcher.png

Modes

Minor Mode

wc-mode

字数统计,在下方的 mode line 显示字数、词数等的统计。

请见 https://github.com/bnbeckwith/wc-mode

安装方法可以直接 M-x package-install wc-mode

M-x customize 查找 wc-mode 之后可以按网页里的 Modline string 来定制显示格式。因为没有对中文的优化,对于中文一般可以设置为 "WC[%tw/%tc]" ,显示效果是 WC[词数/字数]

输入特殊字符

可以 M-x set-input-method TeX ,设置了之后可以通过 TeX 的方法输入一些对应的 Unicode 字符。例如,(一口气)输入 \rightarrow 输入最后一个 w 之后整个会被替换成 ,但是如果输入到一半发现打错了然后删了字符或是移动了光标,那就输入失败了。必须一口气连续不出错地输入完整的 TeX 命令才能成功替换。

并不是所有的 TeX 命令都有对应。

评论