emacs-配置文件
1 load,load-file
1.1 加载文件,在.emacs中加载默认的文件
(load "~/.emacs.d/loadfile/xxx.el ")
1.2 加载插件,在.emacs中指定插件文件夹,然后加载
1. (add-to-list 'load-path "~/.emacs.d/lisp/") (require '***-***) 2. 想要被加载,插件的.el文件最后一定要proide (provide '***-***)
1.3 关于这些加载项目的差别可以在这个网站查看
2 配置文件不用重启就起效
- 打开 .emacs 文件 C-x C-e 光标前面的运行一条语句 立即生效
选择一个 region
M-x eval-region M-x load-file ~/.emacs M-x eval-buffer
都是立即生效,可以马上试验一条语句的效果
(setq frame-title-format "emacs@%b")
3 我的配置文件
;; -*- coding: utf-8; lexical-binding: t -*- ;;pengshao's ~/.emacs.d/init.el ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun open-init-file() (interactive) (find-file "~/.emacs.d/init.el")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;自己的一些小的配置 (add-to-list 'load-path "~/.emacs.d/loadfile/") (require 'pengshao-org-mode) (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-cc" 'org-capture) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cb" 'org-iswitchb) (require 'pengshao-org-publish) ;;在pengshao-org-publish.el文件当中设置了 ;;(define-key global-map "\C-cp" 'org-publish) (require 'pengshao-calendar) (require 'pengshao-default) (require 'pengshao-backup) (require 'pengshao-insert-date) (require 'pengshao-copy-cut-paste-killring) ;;cua-rectangle-mark-mode的快捷键 (global-set-key (kbd "C-c n") 'cua-rectangle-mark-mode) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;加载别的插件 (add-to-list 'load-path "~/.emacs.d/lisp/") (require 'color-theme) (color-theme-initialize) (color-theme-snow) (require 'iimage) (require 'tabbar) (tabbar-mode) ;;切换buffer ;;prior就是上翻页pg up,next就是pg dn键盘 ;(global-set-key [C-prior] 'previous-buffer) ;(global-set-key [C-next] 'next-buffer) ;;Win更换tabbar不错吧,前两个是在不同的分组切换,后面的是在同组切换 (global-set-key [s-up] 'tabbar-backward-group) (global-set-key [s-down] 'tabbar-backward-group) (global-set-key [s-left] 'tabbar-backward-tab) (global-set-key [s-right] 'tabbar-forward-tab) (require 'htmlize) (require 'word-like-count-mode) (global-set-key "\C-xw" 'word-like-count-mode) (require 'browse-kill-ring) (global-set-key (kbd "C-c k") 'browse-kill-ring) (require 'auto-complete) (require 'auto-complete-config) (add-to-list 'ac-dictionary-directories "~/.emacs.d/lisp/ac-dict/") (ac-config-default) (define-key ac-mode-map (kbd "C-c q") 'auto-complete) (require 'youdao-dictionary) ;; Enable Cache (setq url-automatic-caching t) ;; Example Key binding (global-set-key (kbd "C-c y") 'youdao-dictionary-search-at-point) ;; Integrate with popwin-el (https://github.com/m2ym/popwin-el) ;; (push "*Youdao Dictionary*" popwin:special-display-config) ;; Set file path for saving search history (setq youdao-dictionary-search-history-file "~/.emacs.d/.youdao") ;; Enable Chinese word segmentation support (支持中文分词) ;; (setq youdao-dictionary-use-chinese-word-segmentation t) (require 'sr-speedbar) (setq sr-speedbar-right-side nil) ;;左侧显示 (setq sr-speedbar-width 25) ;;宽度 (setq speedbar-directory-unshown-regexp "^\(\.\.*$\)\'") ;;显示.的头文件 (setq sr-speedbar-skip-other-window-p t) ;;窗口跳转跳过sr-speedbar ;;设置快捷键 (global-set-key [f5] 'sr-speedbar-select-window) (global-set-key (kbd "C-c s") 'sr-speedbar-open) (global-set-key (kbd "C-c x") 'sr-speedbar-close) ;;自动打开sr-speedbar ;;不知道为什么太不好用了,每次都多打开一个窗格,所以忽略了, ;;(sr-speedbar-open) ;;开机默认启动speedbar,不用了,现在用sr-speedbar了 ;;(speedbar 1) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;键盘配置放在最后,只要是配置了F1-F10,和Home/End键,所有自己配置的都在init.el了,方便查找 (require 'pengshao-key-building)
4 默认的一些配置
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -*- coding: utf-8; lexical-binding: t -*- ;;pengshao-default.el---默认一小些配置 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 时间戳使用英文星期 (setq system-time-locale "C") ;; 编码选用 UTF-8 (prefer-coding-system 'utf-8) (set-default-coding-systems 'utf-8) (setq default-buffer-file-coding-system 'utf-8) ;;关闭起动时的那个“开机画面” (setq inhibit-startup-message t) ;;(split-window-below) ;; 横向分屏 ;;(split-window-right) ;; 纵向分屏 ;;设置启动时候窗口大小 (setq default-frame-alist '((height . 30) (width . 100) (menu-bar-lines . 0) (tool-bar-lines . 0))) ;在标题栏提示你目前在什么位置 ;(setq frame-title-format "pengshao@%n%b") ;; buffer name (if the buffer isn't visiting a file) (setq frame-title-format '("" " 上马提枪, 去干他娘 - " (:eval (if (buffer-file-name) (abbreviate-file-name (buffer-file-name)) "%b")))) ;语法高亮 (global-font-lock-mode t) ;打开图片显示功能 (auto-image-file-mode t) ;显示列号,显示行号码 (column-number-mode t) (global-linum-mode t) ;显示括号匹配 (show-paren-mode t) (setq show-paren-style 'parentheses) ;自动添加括号 (electric-pair-mode t) ;显示时间,格式如下 (display-time-mode 1) (setq display-time-24hr-format t) (setq display-time-day-and-date t) ;去掉那个大大的工具栏 ;;(tool-bar-mode nil) ;去掉滚动条 ;;(scroll-bar-mode nil) ;支持emacs和外部程序的粘贴 (setq x-select-enable-clipboard t) ;默认显示 80列就换行 (setq default-fill-column 80) ;一打开就起用 text 模式。 ;(setq default-major-mode 'text-mode) (provide 'pengshao-default)
5 org-mode相关的两个配置
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -*- coding: utf-8; lexical-binding: t -*- ;;pengshao-org-mode.el---orgmode相关的配置 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;我的编码设置 (prefer-coding-system 'utf-8) (set-default-coding-systems 'utf-8) (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) ;;org-mode语法高亮 (setq org-src-fontify-natively t) ;;保证后缀为'.org'的文件会使用Org mode (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) ;;如果不想在全局范围使用font-lock,可以用下面一句配置来只在Org-mode下打开font-lock选项 ;;(add-hook 'org-mode-hook 'turn-on-font-lock) ;;设置默认的agenda文件,的todo的全局文件可以添加在这里 (setq org-agenda-files (list "~/psnote_public/idear/idear-list.org" )) ;;每次新建todo和做完都要添加时间 ;(setq org-log-todo 'time) ;(setq org-log-done 'time) ;;默认的org-notesfile (setq org-default-notes-file "~/psnote_public/idear/idear-list.org") ;;设置org-mode的启动显示选项,#+STARTUP: overview : content : showall : showeverything : (setq org-startup-folded 'content) ;; prevent editing an invisible part of the buffer防止编辑缓冲区不可见部分 (setq org-catch-invisible-edits nil) ;;为org-mode添加自动换行功能 (add-hook 'org-mode-hook (lambda () (setq truncate-lines nil))) ;;为org-mode的(setq org-startup-indented t)缩进星号 (setq org-startup-indented t) ;; 设置 bullet list ;;(setq org-bullets-bullet-list '("☰" "☷" "☯" "☭")) ;定义多组状态序列,每个“#+SEQ_TODO”行定义一组 (setq org-todo-keywords '((sequence "TODO(T!)" "DOING(H!)" "|" "DONE(D!)" "CANCELED(C@/!)") )) ;; org-todo-keyword-faces (setq org-todo-keyword-faces '( ("TODO" . (:foreground "#FF0033" :background "#FFFF33" :weight bold)) ("CANCELED" . (:foreground "yellow" :background "#2E8B57" :weight bold)) ("DOING" . (:foreground "#990066" :background "#00FF00" :weight bold)) )) ;;'org-tag-faces' (setf org-tag-faces '( ("上班" . (:foreground "black" :background "#95A5A6" :weight bold)) ("休班" . (:foreground "red" :background "#2E8B57" :weight bold)) ("加班" . (:foreground "white" :background "#3498DB" :weight bold)) )) ;; 折叠时不再显示「...」, 换个你喜欢的符号 (setq org-ellipsis "▼") (provide 'pengshao-org-mode)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -*- coding: utf-8; lexical-binding: t -*- ;;pengshao-org-publish.el---org-publish相关的配置 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'ox-publish) (setq org-publish-project-alist '( ("psnote-org" :base-directory "~/public_note/" :base-extension "org" :publishing-directory "~/public_site/" :recursive t ;是否递归 :publishing-function org-html-publish-to-html ;使用哪个函数来进行publish(注:org 7与8在这个地方有区别) :headline-levels 2 ;由于大纲结构也用于列表和任务,因此只有前4个级别用作标题更深的级别会被看作项目列表,我设置的2 :auto-preamble t ;自动前言 :section-numbers t ;章节数字是否显示 :author "pengshao" ;作者 :email "pengshao58@gmail.com" ;邮箱 :auto-sitemap t ; 自动生成 sitemap.org 文件 :sitemap-filename "sitemap.org" ; ... call it sitemap.org (it's the default)... :sitemap-title "PengShao's BLOG!" ; ... with title ;;:sitemap-file-entry-format "%d %t" ;这里采用时间+标题的方式生成sitemap :style-include-default nil ;禁用默认 css 样式,使用自定义css ;作为一个字符串给予 html-head 变量并插入到生成的 html 文件的head部 ;因此里面的某些字符必须避免转义,比如双引号必须加上反斜杠 ;href 的赋值不会做如何转换,因此必须确保是在生成的 html 文件能够访问的绝对路径。 ;html-home/up-format"<div id=\"org-div-home-and-up\"> <a accesskey=\"h\" href=\"/home/index.html\"> UP </a> | <a accesskey=\"H\" href=\"/home/index.html\"> HOME </a></div>" ;html-head "<link rel=\"stylesheet\" type=\"text/css\" href=\"/home/css/org.css\"/>" :html-postamble "<script async src=\"https://www.googletagmanager.com/gtag/js?id=UA-164487790-1\"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-164487790-1'); </script>" ) ("psnote-static" :base-directory "~/public_note/" :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|sh\\|el\\|jpeg\\|html" :publishing-directory "~/public_site/" :recursive t :publishing-function org-publish-attachment ) ("psnote" :components ("psnote-org" "psnote-static")) )) (define-key global-map "\C-cp" 'org-publish) (provide 'pengshao-org-publish)
6 我比较喜欢些东西加入日期
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -*- coding: utf-8; lexical-binding: t -*- ;;pengshao-einsrt-date.el---插入时间格式相关的配置 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun my-insert-time () (interactive) (insert (format-time-string "<%Y-%m-%d/%A %H:%M:%S>" (current-time)))) (global-set-key (kbd "C-c m t") 'my-insert-time) (defun my-insert-date () (interactive) (insert (format-time-string "<%Y-%m-%d-%j/%A>" (current-time)))) (global-set-key (kbd "C-c m d") 'my-insert-date) (defun my-insert-month () (interactive) (insert (format-time-string "<%Y-%B>" (current-time)))) (global-set-key (kbd "C-c m m") 'my-insert-month) ;;插入今年的时间进度条 (defun make-progress (width percent has-number?) (let* ((done (/ percent 100.0)) (done-width (floor (* width done)))) (concat "[" (make-string done-width ?/) (make-string (- width done-width) ? ) "]" (if has-number? (concat " " (number-to-string percent) "%")) ))) (defun insert-day-progress () (interactive) (let* ((today (time-to-day-in-year (current-time))) (percent (floor (* 100 (/ today 365.0))))) (insert (make-progress 30 percent t)) )) (global-set-key (kbd "C-c m y") 'insert-day-progress) (add-to-list 'org-src-lang-modes '("plantuml" . plantuml)) (provide 'pengshao-insert-date)
7 关于复制粘帖的一些设置
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -*- coding: utf-8; lexical-binding: t -*- ;;pengshao-copy-cut-paste-killring.el---复制粘帖相关配置 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;不向kill-ring中加入重复内容 (setq kill-do-not-save-duplicates t) ;支持中键粘贴 (setq mouse-yank-at-point t) ;;增大kill-ring-max (setq kill-ring-max 200) ;;; 关于没有选中区域,则默认为选中整行的advice ;;;;默认情况下M-w复制一个区域,但是如果没有区域被选中,则复制当前行 (defadvice kill-ring-save (before slickcopy activate compile) "When called interactively with no active region, copy a single line instead." (interactive (if mark-active (list (region-beginning) (region-end)) (message "welldone,copy this line") (list (line-beginning-position) (line-beginning-position 2))))) (provide 'pengshao-copy-cut-paste-killring)
8 我的键配置(主要是f1-f10)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -*- coding: utf-8; lexical-binding: t -*- ;; pengshao-key-building.el --- 全局键盘绑定设置 ;; 最好放在加载文件的最后,防止被覆盖 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;习惯设置,Home键设定光标到文件开头 (global-set-key [(home)] 'beginning-of-buffer) ;;习惯设置,End键设定光标到文件结尾 (global-set-key [(end)] 'end-of-buffer) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;F1到F10 ;;F1,打开帮助,常用帮助有info和woman(就是在emacs中看man) (global-set-key [f1] 'info) ;;F2,恢复, (global-set-key [f2] 'undo) ;;F3,反恢复, ;(global-set-key [f3] 'redo) ;;F3,快速打开配置文件 (global-set-key [f3] 'open-init-file) ;;F4,kill当前buffer (global-set-key [f4] 'kill-this-buffer) ;;F5,speedbar,在init.el设置了 ;;(global-set-key [f5] 'sr-speedbar-select-window) ;;(global-set-key (kbd "C-c s") 'sr-speedbar-open) ;;(global-set-key (kbd "C-c x") 'sr-speedbar-close) ;;F6,dired (global-set-key [f6] 'dired) ;;F7,eshell,shell,terminal-emulator (global-set-key [f7] 'shell) ;;;F8,list-bookmarks (global-set-key [f8] 'list-bookmarks) ;;;F9,bookmark-set (global-set-key [f9] 'bookmark-set) ;;看新闻组,常用的很,不过更多时间现在sir里 ;;(global-set-key [f9] 'gnus) ;;F10,打开/关闭菜单 (global-set-key [f10] 'menu-bar-mode) ;;编译等,暂时还不常用的设置 ;;(global-set-key [f11] 'compile) ;;(global-set-key [f12] 'todo-show) ;;(global-set-key [f12] 'gdb) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (provide 'pengshao-key-building)
9 日期的配置(没用到也没有测试)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -*- coding: utf-8; lexical-binding: t -*- ;;pengshao-calendar.el---calendar相关配置(一直没有调试) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;; 设置日历 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;设置日历的一些颜色 (setq calendar-load-hook '(lambda () (set-face-foreground 'diary-face "skyblue") (set-face-background 'holiday-face "slate blue") (set-face-foreground 'holiday-face "white"))) ;;设置我所在地方的经纬度,calendar里有个功能是日月食的预测,和你的经纬度相联系的。 ;; 让emacs能计算日出日落的时间,在 calendar 上用 S 即可看到 (setq calendar-latitude +36.125) (setq calendar-longitude +117.786) (setq calendar-location-name "Laiwu") ;; 设置阴历显示,在 calendar 上用 pC 显示阴历 (setq chinese-calendar-celestial-stem ["甲" "乙" "丙" "丁" "戊" "己" "庚" "辛" "壬" "癸"]) (setq chinese-calendar-terrestrial-branch ["子" "丑" "寅" "卯" "辰" "巳" "戊" "未" "申" "酉" "戌" "亥"]) ;; 设置 calendar 的显示 (setq calendar-remove-frame-by-deleting t) ;(setq calendar-week-start-day 1) ; 设置星期一为每周的第一天 (setq mark-diary-entries-in-calendar t) ; 标记calendar上有diary的日期 (setq mark-holidays-in-calendar nil) ; 为了突出有diary的日期,calendar上不标记节日 (setq view-calendar-holidays-initially nil) ; 打开calendar的时候不显示一堆节日 ;; 去掉不关心的节日,设定自己在意的节日,在 calendar 上用 h 显示节日 (setq christian-holidays nil) (setq hebrew-holidays nil) (setq islamic-holidays nil) (setq solar-holidays nil) (setq general-holidays '((holiday-fixed 1 1 "元旦") (holiday-fixed 2 14 "情人节") (holiday-fixed 3 14 "白色情人节") (holiday-fixed 4 1 "愚人节") (holiday-fixed 5 1 "劳动节") (holiday-float 5 0 2 "母亲节") (holiday-fixed 6 1 "儿童节") (holiday-float 6 0 3 "父亲节") (holiday-fixed 7 1 "建党节") (holiday-fixed 8 1 "建军节") (holiday-fixed 9 10 "教师节") (holiday-fixed 10 1 "国庆节") (holiday-fixed 12 25 "圣诞节"))) ;;Calendar模式支持各种方式来更改当前日期 ;;(这里的“前”是指还没有到来的那一天,“后”是指已经过去的日子) ;; q 退出calendar模式 ;; C-f 让当前日期向前一天 ;; C-b 让当前日期向后一天 ;; C-n 让当前日期向前一周 ;; C-p 让当前日期向后一周 ;; M-} 让当前日期向前一个月 ;; M-{ 让当前日期向后一个月 ;; C-x ] 让当前日期向前一年 ;; C-x [ 让当前日期向后一年 ;; C-a 移动到当前周的第一天 ;; C-e 移动到当前周的最后一天 ;; M-a 移动到当前月的第一天 ;; M-e 多动到当前月的最后一天 ;; M-< 移动到当前年的第一天 ;; M-> 移动到当前年的最后一天 ;;Calendar模式支持移动多种移动到特珠日期的方式 ;; g d 移动到一个特别的日期 ;; o 使某个特殊的月分作为中间的月分 ;; . 移动到当天的日期 ;; p d 显示某一天在一年中的位置,也显示本年度还有多少天。 ;; C-c C-l 刷新Calendar窗口 ;; Calendar支持生成LATEX代码。 ;; t m 按月生成日历 ;; t M 按月生成一个美化的日历 ;; t d 按当天日期生成一个当天日历 ;; t w 1 在一页上生成这个周的日历 ;; t w 2 在两页上生成这个周的日历 ;; t w 3 生成一个ISO-SYTLE风格的当前周日历 ;; t w 4 生成一个从周一开始的当前周日历 ;; t y 生成当前年的日历 ;;EMACS Calendar支持配置节日: ;; h 显示当前的节日 ;; x 定义当天为某个节日 ;; u 取消当天已被定义的节日 ;; e 显示所有这前后共三个月的节日。 ;; M-x holiday 在另外的窗口的显示这前后三个月的节日。 ;; 另外,还有一些特殊的,有意思的命令: ;; S 显示当天的日出日落时间(是大写的S) ;; p C 显示农历可以使用 ;; g C 使用农历移动日期可以使用 (provide 'pengshao-calendar)
10 备份相关的设置
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; -*- coding: utf-8; lexical-binding: t -*- ;;pengshao-backup.el--备份相关设置 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq backup-by-copying t ;自动备份 delete-old-versions t ; 自动删除旧的备份文件 kept-new-versions 10 ; 保留最近的50个备份文件 kept-old-versions 2 ; 保留最早的2个备份文件 version-control t ; 多次备份 ;; 把生成的备份文件放到统一的一个目录,而不在在文件当前目录生成好多 ~ #的文件 ;; 如果你编辑某个文件时 后悔了想恢复成以前的一个版本 你可以到这个目录下找到备份的版本 backup-directory-alist `((".*" . "~/emacs.backup/cache/backup_files/")) ; auto-save-file-name-transforms `((".*" "~/emacs.backup/cache/backup_files/" t)) auto-save-list-file-prefix "~/emacs.backup/cache/backup_files/saves-") (provide 'pengshao-backup)
11 frame-title-format设置相关
11.1 我的设置
;; buffer name (if the buffer isn't visiting a file) (setq frame-title-format '("" " 上马提枪, 去干他娘 - " (:eval (if (buffer-file-name) (abbreviate-file-name (buffer-file-name)) "%b"))))
11.2 frame-title-format选项相关
A string is printed verbatim in the mode line except for %-constructs: (%-constructs are allowed when the string is the entire mode-line-format or when it is found in a cons-cell or a list) %b -- print buffer name. %f -- print visited file name. %F -- print frame name. %* -- print %, * or hyphen. %+ -- print *, % or hyphen. %& -- is like %*, but ignore read-only-ness. % -- means buffer is read-only and * means it is modified.For a modified read-only buffer, %* gives % and %+ gives *. %s -- print process status. %p -- print percent of buffer above top of window, or Top, Bot or All. %P -- print percent of buffer above bottom of window, perhaps plus Top,or print Bottom or All. %m -- print the mode name. %n -- print Narrow if appropriate. %z -- print mnemonics of buffer, terminal, and keyboard coding systems. %Z -- like %z, but including the end-of-line format. %[ -- print one [ for each recursive editing level. %] similar. %% -- print %. %- -- print infinitely many dashes. Decimal digits after the % specify field width to which to pad.
12 配置目录的文件树
[https://github.com/boxmaking/.emacs.d]
/home/pengshao/.emacs.d/ ├── ac-comphist.dat ├── bookmarks ├── init.el ├── lisp │ ├── ac-dict │ │ ├── ada-mode │ │ ├── caml-mode │ │ ├── clojure-mode │ │ ├── clojurescript-mode │ │ ├── c++-mode │ │ ├── c-mode │ │ ├── coq-mode │ │ ├── css-mode │ │ ├── erlang-mode │ │ ├── ess-julia-mode │ │ ├── go-mode │ │ ├── haskell-mode │ │ ├── java-mode │ │ ├── js-mode │ │ ├── julia-mode │ │ ├── lua-mode │ │ ├── nim-mode │ │ ├── objc-mode │ │ ├── octave-mode │ │ ├── org-mode │ │ ├── php-mode │ │ ├── python-mode │ │ ├── qml-mode │ │ ├── ruby-mode │ │ ├── scala-mode │ │ ├── scheme-mode │ │ ├── sclang-mode │ │ ├── sh-mode │ │ ├── swift-mode │ │ ├── tcl-mode │ │ ├── ts-mode │ │ ├── tuareg-mode │ │ └── verilog-mode │ ├── auto-complete-config.el │ ├── auto-complete.el │ ├── auto-complete-pkg.el │ ├── browse-kill-ring.el │ ├── color-theme.el │ ├── htmlize.el │ ├── iimage.el │ ├── popup.el │ ├── tabbar.el │ ├── themes │ │ ├── color-theme-example.el │ │ └── color-theme-library.el │ └── word-like-count-mode.el ├── loadfile │ ├── pengshao-backup.el │ ├── pengshao-calendar.el │ ├── pengshao-copy-cut-paste-killring.el │ ├── pengshao-default.el │ ├── pengshao-insert-date.el │ ├── pengshao-key-building.el │ ├── pengshao-org-mode.el │ └── pengshao-org-publish.el ├── org-other-file │ ├── css │ │ ├── org2.css │ │ └── org.css │ ├── org-info.js │ ├── org-level-0.org │ ├── org-level-1.org │ └── org-level-3.org ├── timelog └── url