修改历史: 2018-10-07 首次编写。 2018-11-7 新增milkypostman/powerline配置,试验emacs-powerline放弃 2018-12-5 修正cygwin w32界面版emacs粘贴外部字符乱码设置,修正python-mode下C-c C-q绑定冲突
力图编写一个跨系统平台(system-type)和window类型(window-system)的通用 性配置文件,跨Windows/linux/cygwin,字符界面和图形界面。
C-h v查看system-type变量帮助,值有:
- ‘gnu ;; 表示gnu Hurd系统
- ‘gnu/linux ;; 表示gnu/linux系统
- ‘darwin ;; Mac OS X
- ‘windows-nt ;; windows w32
- ‘cygwin ;; cygwin
C-h v查看window-system变量帮助,值有:
- nil ;; 字符界面,termcap
- ‘x ;; x图形界面
- ‘w32 ;; Windows图形界面
- ‘pc ;; dos字符界面
text terminal/GUI 版本emacs判断,函数display-graohic-p可以判断。 在配置文件中,就是依据system-type、display-graphic-p、window-system做条件判断,来决定加载哪些特性。
依照功能模块,将Emacs配置文件分拆成多个部分,按需加载和配置。 .emacs只是入口,内部定义emacs.d等文件路径并将相关路径加入loadpath。 emacs.d下init.el逐个加载其他配置文件。
本仓库下.emacs为文件实体,~/.emacs为指向其的链接,Windows用户目录(C:\user \<用户名>\AppData\Roaming)下使用快捷方式(.emacs.lnk)无效,需从此处复制。 emacs.d是存放配置文件的主要路径,其下init.el作为配置的实质性起始,依次加载 其他init文件,按照ui、自定义功能函数、字符编码等杂项、customize配置、编程语言 等多个模块组织。 melpa为package-install-package下载扩展包的路径,扩展包的配置项写在init-melpa 中,如某个扩展包配置语句过多也可独立成单个文件。 init-xx.el可能加载调用site-lisp中的文件和引用函数变量等,site-lisp中的文件由其他处下载而来,如是多个文件放在子目录中,则需在init-site-lisp.el将子目录加入load-path。
现在存在emacs中自带的python.el提供python-mode,和elpa中python-mode.el提供的python-mode,存在冲突并且相当不好用。