dotfiles
我的 dotfiles、脚本和配置。Shell 部分专用于 Zsh, 使用 zinit & powerlevel10k。
模块化
这些文件由 GNU Stow 管理,按工具或功能区域划分:Git、emacs 等——参见顶层目录。 不同系统使用不同的配置子集,由某些文件指定,如 安装 章节所述。
Emacs
配置中最大的部分是针对 Emacs 的,当前版本为 29.1。重点在于 所有不同包之间的无缝集成,避免意外,并在各处添加润色。当然,这仍然是一个 进行中的工作。
我开始将逻辑单元拆分为独立的 Elisp 包,在合理的情况下,以提高可维护性:
- org-autotask:Org 议程 视图、计时、自动化。
大部分配置位于 my-setup.el, 以及同一目录中拆分到各自文件的部分, 还有 early-init.el 和 init.el。 在 darwin.el 中还有一些系统特定的设置。
我没有使用文学化配置,这至少在 Org 用户中非常流行。也许我应该这样做。同样适用于 use-package。
已配置的包
如果可用且未损坏,我总是优先选择 melpa-stable 版本。 不幸的是,这并不总是可能的。
主要包
org magit 和 forge lsp-mode flycheck company projectile m4e
主要
GCMH org-roam wgrep org-gcal vterm deadgrep undo-tree
锦上添花、小众及特定主模式
rich-minority dispwatch lsp-treemacs calfw which-key keyfreq iedit eldoc-cmake aggressive-indent-mode yaml-mode markdown-mode ssh-config-mode bison-mode cmake-mode grab-mac-link cheat-sh beginend git-modes flycheck-google-cpplint difftastic.el pr-review
外观
solarized-theme git-gutter-fringe company-box page-break-lines xterm-color all-the-icons-dired cmake-font-lock beacon flycheck-status-emoji stripe-buffer prism.el info-colors topsy.el org-sticky-header
Emacs 捆绑的包
tramp ts
改进、修复的烦恼及 Bug 变通方案
- 在只读缓冲区中禁用 global-display-fill-column-indicator
- macOS:为 woman 添加缺失的 man 页面路径
- 如果使用 lsp-mode 配合 bash-language-server,重新启用 Shellcheck
- 点击 URL 应打开它们,而不是进行拼写检查
- 变通解决 projectile 问题,即远程项目 未被添加到 Projectile 项目列表。
- 在 Magit 操作时自动更新 Git gutter。
- 在具有语义高亮的 LSP 下禁用 color-identifiers-mode
- 减少 modeline 中的 LSP 信息
- 以
dired-ignored字体显示 Git 忽略的文件
自定义命令和功能
- 在笔记本电脑自动合盖/开盖后设置窗口几何
my-recompile-packages:强制重新编译所有已安装的包,在 Emacs 版本升级或包升级损坏后。kill-buffers-rm-worktree:绑定到 Projectile 键位图中的y,关闭所有 缓冲区并执行gitrmworktree.
安装
新系统设置
参见 setup-ubuntu.sh, setup-centos6.sh, 以及 setup-macos.sh.
点文件、Emacs 发行版、macOS 默认设置等。我一直在借鉴
-
https://www.reddit.com/r/emacs/comments/ja97xs/weekly_tipstricketc_thread/g985tg9
-
https://www.reddit.com/r/emacs/comments/6iqtze/org_mreturn_annoyance/
-
https://github.com/aadi58002/stow-dotfiles/blob/main/.config/emacs/init.org
-
https://pawelgrzybek.com/change-macos-user-preferences-via-command-line/
-
https://metaredux.com/posts/2020/07/07/supercharge-your-bash-history.html