cabins / .emacs.d

追求轻量以及简洁的Emacs配置。代号:酸枣(个头小,口感没那么好,但营养丰富)。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

English Version

关于项目

注意:该项目后续逐渐停止维护,代码的维护工作转到 cabins/emacs.d

本项目非 GNU Emacs 官方配置,亦非 GNU Emacs 的插件,仅作为个人配置项目使用。配置由 ©Cabins 进行维护。

项目代号:酸枣

酸枣,是产于**华东地区的一种山枣,个头小,味道酸甜,营养丰富。代号旨在说明项目的小巧,可能不是那么的好用,但对于学习Emacs(ELisp)来说是非常适合的。

如果你更喜欢全功能的Emacs,可以参考我的另一个代号为榫卯项目

主要目标

保持足够的简洁、简单(对,就是字面意思)。尽可能的趋向于Vanilla Emacs。所以你在我的配置中看不到很多的第三方插件(除非真的是迫不得已),而更多的去使用内置的包——这样的后果就是,很多时候使用起来没有那么的方便。

这对于想学习Emacs的人(比如我)来说,是更有优势,更希望的。当前的配置中使用的第三方插件有:

  • company,用来进行代码补全
  • exec-path-from-shell,解决环境变量的问题
  • -projectile-,仅Emacs 28以下的版本使用,28使用内置的project
  • rainbow-delimiters,彩虹括号(其实这个包也可以删除掉)
  • highlight-parentheses,括号高亮
  • which-key,按键提示
  • yasnippet,代码片段
  • crux,一些快捷操作
  • hungry-delete,优化的删除操作
  • drag-stuff,代码的行、块移动
  • format-all,代码格式化
  • 编程语言相关
    • lsp-mode / lsp-ui
    • go-mode
    • rust-mode
    • vue-mode
    • web-mode / emmet-mode
    • json-mode
    • markdown-mode
    • protobuf-mode
    • restclient
    • yaml-mode

编程语言

使用的是 LSP 来完成配置。你只需要安装 Language Server 的方式来自动完成配置,而不需要额外编写默认配置代码(个性化配置的话还需要特殊写代码)。

字体配置

这一块非常的个性化,而且我在不同的机器上测试发现,即便同样是 Windows,在不同的机器上配置也不通用。所以你在使用我的这个配置的时候,建议自行调整显示效果。配置文件位于list/init-ui.el中。

另外,由于不确定使用者的机器上安装了哪些字体,默认会在一个列表中进行查找。先找到哪个就用哪个。你可以把你喜欢的字体,放在列表的最开始。

字号,一定要调。不同的分辨率的机器上,完全不通用。

与其费大力气去找一个通用的方案,不如直接使用这种方法来配置,没有必要浪费这个时间。

配置安装

通过命令行进行安装,把以下代码粘贴到终端中运行即可:

git clone https://github.com/cabins/.emacs.d ~/.emacs.d

如果你使用的是 27+版本,你也可以运行以下代码来安装:

git clone https://github.com/cabins/.emacs.d ~/.config/emacs

注意: 如果你使用的是 Windows 平台的话,你需要自行设置一个 HOME 环境变量,否则默认安装到%AppData%下。

代码测试

本项目已在以下平台测试通过:

  • macOS, 11.1+, GUI 模式
  • Fedora Linux 34, Workstation & Server Edition
  • Windows 10, 1909(18363) (Native GUI & msys2)

理论上说,应该也通行于其他的平台,如果有问题,可以随时提 Issue。

问题排查

Windows上如果出现闪屏

如果你在Windows 10上发现界面存在闪屏的情况(比如移动光标的时候,或者键入的时候),请检查是否开启了MacType。如果是的话,将Emacs的进程添加到MacType的排除列表中即可,例如在MacType的ini文件中添加如下的代码:

[UnloadDll]
emacs.exe
runemacs.exe

如果出现乱码

请使用all-the-icon进行字体的补全安装。另外如果是Windows的话,请额外安装Symbola。

About

追求轻量以及简洁的Emacs配置。代号:酸枣(个头小,口感没那么好,但营养丰富)。


Languages

Language:Emacs Lisp 100.0%