Skip to content

georgealbert/.emacs.d

Repository files navigation

我的emacs配置

特点

  • 使用 evil
  • 参考 doom-emacs 配置,优化启动和使用速度
  • 使用 which-keygeneral
  • 使用 ivy + counsel + swiper + ivy-rich
  • 参考原生的 deeper-blue 主题,定制的doom-theme
  • 使用 doom-modeline

editor - lisp/init-editor.el

evil

使用emacs原生undo-redo

emacs在28.0以后加入了 undo-redo , 替换掉原来使用的 undo-tree ,优化速度。

diredfl

diredfl 比较轻量化,如果直接用 dired ,文件的不同属组的读写属性只有一个颜色,看着不够美观。

用过 dired-k ,在和git一起用的时候,windows上速度有点慢。

性能优化 - lisp/init-core.el

gcmh

参考老的doom-emacs配置,在 early-init.elgc-cons-threshold 设置为最大值。启动完成后, gc-cons-threshold 恢复为 16MB ,每次focus离开emacs时,定时进行gc。

UI

theme - lisp/init-ui-theme.el

theme在 theme/doom-deeper-blue.el

emacs原生 deeper-blue theme 在doom-theme中,org-mode、helm的显示不好看,大改了一番。

ivy - lisp/init-ivy.el

可以使用拼音字母缩写查询

  • 查询中文“测试”

    C-s 后,输入 :cs

  • 查询中文“操作系统”,不包括中文“系统”

    C-s 后,输入 :czxt !xt

工具类 - lisp/init-tools.el

ime自动切换

windows

在windows上写了2个函数,已commit到emacs master分支,在最新的pretest版本中已经可以体验,在使用微软拼音时效果很不错。

normal modeinsert 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)))

macos

中文输入法是 rime 。没用系统自带的中文输入法,因为和其他输入法的使用习惯不一样,没法配置用 逗号 进行候选词翻页,和 shift 切换中英文状态(按 left shift 上面的“中/英”按键可以)。

代码没commit到emacs。参考了 emacs mac port 的代码。不能在输入法内切换中英文,只能在切换到 normal mode 时切换到英文输入法,按 ia 切换到 insert mode 时,会切换到rime。

这里要对水果吐槽一下,对程序员非常不友好,输入法相关的系统api很难查到,原来在水果的开发者论坛上有输入法的api文档,但是居然又取消了。这究竟是什么神操作?能不能像微软学习一下?

问题
  • 使用 macism 外部进程切换输入法时,不太文档,有时候无法切换。
  • lsp-mode时,用的时间长了,可能会有乱码,只能关闭emacs,重新打开。

amx

fork了amx的代码,修改了快捷键的高亮。不知道最新的amx是否有优化。如果改了,考虑使用原版的amx。github访问有点慢,fetch代码时间太长。

https://github.com/georgealbert/amx

org - lisp/init-org.el

org的配置是很久以前学习的,太多了,实在是不想也不敢改,工作量太大,现在能用,不优化了。

About

my emacs config file using org-babel

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published