- 使用
evil
- 参考
doom-emacs
配置,优化启动和使用速度 - 使用
which-key
和general
- 使用
ivy + counsel + swiper + ivy-rich
- 参考原生的
deeper-blue
主题,定制的doom-theme - 使用
doom-modeline
emacs在28.0以后加入了 undo-redo
, 替换掉原来使用的 undo-tree
,优化速度。
diredfl
比较轻量化,如果直接用 dired
,文件的不同属组的读写属性只有一个颜色,看着不够美观。
用过 dired-k
,在和git一起用的时候,windows上速度有点慢。
参考老的doom-emacs配置,在 early-init.el
将 gc-cons-threshold
设置为最大值。启动完成后, gc-cons-threshold
恢复为 16MB
,每次focus离开emacs时,定时进行gc。
theme在 theme/doom-deeper-blue.el
。
emacs原生 deeper-blue
theme 在doom-theme中,org-mode、helm的显示不好看,大改了一番。
- 查询中文“测试”
C-s
后,输入:cs
- 查询中文“操作系统”,不包括中文“系统”
C-s
后,输入:czxt !xt
在windows上写了2个函数,已commit到emacs master分支,在最新的pretest版本中已经可以体验,在使用微软拼音时效果很不错。
在 normal mode
和 insert mode
切换时可以记住当前输入法的中英文状态,如果在 insert mode
中是中文的,从 normal mode
切换回来时仍然是中文状态。当然这是微软拼音的功劳。
(if (fboundp 'w32-set-ime-open-status)
(progn
(defun emacs-ime-disable ()
(w32-set-ime-open-status nil))
(defun emacs-ime-enable ()
(w32-set-ime-open-status t))
(add-hook 'evil-insert-state-entry-hook 'emacs-ime-enable)
(add-hook 'evil-insert-state-exit-hook 'emacs-ime-disable)))
中文输入法是 rime
。没用系统自带的中文输入法,因为和其他输入法的使用习惯不一样,没法配置用 逗号
进行候选词翻页,和 shift
切换中英文状态(按 left shift
上面的“中/英”按键可以)。
代码没commit到emacs。参考了 emacs mac port
的代码。不能在输入法内切换中英文,只能在切换到 normal mode
时切换到英文输入法,按 i
或 a
切换到 insert mode
时,会切换到rime。
这里要对水果吐槽一下,对程序员非常不友好,输入法相关的系统api很难查到,原来在水果的开发者论坛上有输入法的api文档,但是居然又取消了。这究竟是什么神操作?能不能像微软学习一下?
- 使用
macism
外部进程切换输入法时,不太文档,有时候无法切换。 - lsp-mode时,用的时间长了,可能会有乱码,只能关闭emacs,重新打开。
fork了amx的代码,修改了快捷键的高亮。不知道最新的amx是否有优化。如果改了,考虑使用原版的amx。github访问有点慢,fetch代码时间太长。
https://github.com/georgealbert/amx
org的配置是很久以前学习的,太多了,实在是不想也不敢改,工作量太大,现在能用,不优化了。