想从头弄一个emacs配置

emacs初学者。

按照子龙山人的视频的前十集,自己弄了一个配置,并托管在github上,不想用spacemacs的,因为如果是单纯的把emacs当作一个很好的工具,而尽量不去折腾,这就失去使用emacs的意义,同时我也看到了emacs的配置可以及其复杂,我是比较熟悉vim,看那些大神的配置的代码数量和emacs大神的配置代码数量没得比,所以注定,折腾emacs将会是一个大坑,可能需要填很久,我猜也需要几年。

我现在的想法是配置好evil,magit,补全,文件文本搜索,窗口移动,buffer切换,layout这些方面。

每一个方面的配置我猜可能都会不短,子龙山人前十集的配置是这样分的:

init.el init-package.el init-better-default.el init-keybindding.el init-ui.el custom.el

后来,我使用use-package,大改了init-package.el里面的内容,现在里面的内容变成这个样子:

(use-package package_name init: xxx config: xx )

所以一个包的所有配置可能就集中在这里了,想了下好像不太合理,因为一些包的配置可能很长的,该怎么做比较好

spacemacs 也没有多么复杂,你都能有能力整个新的配置框架了,学习一个现有的岂不是更简单

你曲解了,我只想弄一个仅限个人的配置,而非人人都可以用的框架

陈斌在他的一年学会emacs方法论里面不推荐自己从头配置,相关理由我觉得都很对。

好吧,我也奇怪,为什么他们自己会用spacemacs,照道理,他们应该自己可以配置应该也不差

自己配置挺好,使用别人的配置难免有不明白、不习惯之处。

呃,配置(设变量、绑定键、Hook等)一般长不到哪去,确实嫌长或者有必要分开的话,把这些配置在组织成一个 Package/文件/Feature,之后用 use-package 或者 require 加载。比如 Ace-link 不支持 Notmuch,为了解决这个问题,由于代码量有点大,我就在自己的配置中写了一个 ace-link-notmuch.el 文件,之后

(use-package notmuch
  :config (require 'ace-link-notmuch))

我的配置也是以 Package 为单位,用 use-package 组织的。把功能分门别类,然后再设置提供该功能的 Package。

38 matches for "^;;;" in buffer: init.el
      1:;;; init.el --- Chunyang Xu's Emacs Configuration  -*- lexical-binding: t; -*-
      3:;;; Debugging
      9:;;; Start up
     73:;;; Require helper libraries
     96:;;; Initialization
    114:;;; OS X support
    148:;;; User Interface
    279:;;; Emacs session persistence
    344:;;; Minibuffer with helm
    380:;;; Buffers, Windows and Frames
    482:;;; File handle
    514:;;; Basic Editing
    715:;;; Navigation and scrolling
    770:;;; Search
    828:;;; Highlight
    897:;;; Skeletons, completion and expansion
    979:;;; Spelling and syntax checking
   1037:;;; Markup languages
   1048:;;; Programming utilities
   1081:;;; Generic Lisp
   1104:;;; Emacs Lisp
   1257:;;; Help
   1262:;;; Version Control
   1366:;;; Tools and utilities
   1409:;;; Project
   1515:;;; Web & IRC & Email & RSS
   1737:;;; Dictionary
   1766:;;; Eshell
   1863:;;; Org mode
   1957:;;; Emacs Development
   1962:;;; C
   1982:;;; Common Lisp
   1994:;;; Ruby
   2111:;;; Python
   2147:;;; Math
   2160:;;; Misc
   2211:;;; Customization
   2221:;;; init.el ends here

对 Emacs 自身的设置也是按照 Package 为单位的,而不是直接写,比如在 Highlight 分类下,我配置了两个 Emacs 自带的 Package:

(use-package hl-line
  :bind ("C-c t L" . hl-line-mode))

(use-package paren                      ; Highlight paired delimiters
  :init (show-paren-mode))

这么写比直接开启 mode 和设置按键高了一个层次,也方便查找和扩展。

1 个赞

好,star你配置学习下。