|
| 1 | +;;启用部分补全功能,如输入M-x q r r相当于M-x query-replace-regexp |
| 2 | +(partial-completion-mode 1) |
| 3 | +;;在minibuffer里启用自动补全函数和变量 |
| 4 | +(icomplete-mode 1) |
| 5 | +;;所有的问题用y/n方式,不用yes/no方式。有点懒,只想输入一个字母 |
| 6 | +(fset 'yes-or-no-p 'y-or-n-p) |
| 7 | +;;允许minibuffer自由变化其大小(指宽度) |
| 8 | +(setq resize-mini-windows t) |
| 9 | +;;当寻找一个同名的文件,自动关联上那个文件? |
| 10 | +(setq uniquify-buffer-name-style 'forward) |
| 11 | +;;在emacs读man文档时,使用当前buffer |
| 12 | +(setq Man-notify-method 'pushy) |
| 13 | +;;鼠标自动避开指针,如当你输入的时候,指针到了鼠标的位置,鼠标有点挡住视线了 |
| 14 | +(mouse-avoidance-mode 'animate) |
| 15 | +;;允许自动打开图片,如wiki里面 |
| 16 | +(auto-image-file-mode) |
| 17 | +;;可以操作压缩文档 |
| 18 | +;;(auto-compression-mode 1) |
| 19 | +;;在minibuffer上面可以显示列号 |
| 20 | +(column-number-mode t) |
| 21 | +;;显示默认的文档的宽度,看起来比较舒服? |
| 22 | +;;(setq default-fill-column 60) |
| 23 | + |
| 24 | +;;设置光标为短线 |
| 25 | +(setq-default cursor-type 'bar) |
| 26 | + |
| 27 | +;;指针不要闪,我得眼睛花了 |
| 28 | +;;(blink-cursor-mode -1) |
| 29 | + |
| 30 | +(transient-mark-mode 1) |
| 31 | + |
| 32 | +;;当指针到一个括号时,自动显示所匹配的另一个括号 |
| 33 | +(show-paren-mode 1) |
| 34 | +;;是用滚轴鼠标 |
| 35 | +(mouse-wheel-mode t) |
| 36 | +;;去掉烦人的警告铃声 |
| 37 | +(setq visible-bell nil) |
| 38 | +;;滚动页面时比较舒服,不要整页的滚动 |
| 39 | +(setq scroll-step 1 |
| 40 | +scroll-margin 3 |
| 41 | +scroll-conservatively 10000) |
| 42 | +;;设定句子结尾,主要是针对中文设置 |
| 43 | +(setq sentence-end "\\([¡££¡£¿]\\|¡¡\\|[.?!][]\"')}]*\\($\\|[ \t]\\)\\)[ \t\n]*") |
| 44 | +(setq sentence-end-double-space nil) |
| 45 | +;;去掉Emacs和gnus启动时的引导界面 |
| 46 | +(setq inhibit-startup-message t) |
| 47 | +(setq gnus-inhibit-startup-message t) |
| 48 | +;;当指针移到另一行,不要新增这一行?d |
| 49 | +(setq next-line-add-newlines nil) |
| 50 | +;;在文档最后自动插入空白一行,好像某些系统配置文件是需要这样的 |
| 51 | +(setq require-final-newline t) |
| 52 | +(setq track-eol t) |
| 53 | +;;使用C-k删掉指针到改行末的所有东西 |
| 54 | +(setq-default kill-whole-line t) |
| 55 | +;;设定删除保存记录为200,可以方便以后无限恢复 |
| 56 | +(setq kill-ring-max 200) |
| 57 | +;;增大使用查找函数和变量的寻找范围 |
| 58 | +(setq apropos-do-all t) |
| 59 | +;;是用aspell程序作为Emacs的拼写检查成学 |
| 60 | +;;(setq-default ispell-program-name "aspell") |
| 61 | +;;使用narrow功能时的一个设置 |
| 62 | +(put 'narrow-to-region 'disabled nil) |
| 63 | +;;改变emacs标题栏的标题 |
| 64 | +;;(setq frame-title-format "%[email protected]") |
| 65 | +;;允许emacs和外部其他程序的粘贴 |
| 66 | +(setq x-select-enable-clipboard t) |
| 67 | + |
| 68 | + |
| 69 | +(desktop-save-mode 1) |
| 70 | + |
| 71 | +;; 默认工作目录 |
| 72 | +(setq default-directory "~/work") |
| 73 | + |
| 74 | +;;去掉工具栏 |
| 75 | +(tool-bar-mode nil) |
| 76 | + |
| 77 | +;;备份设置 |
| 78 | +;;emacs还有一个自动保存功能,默认在~/.emacs.d/auto-save-list里,这个非常有用,我这里没有改动,具体可以参见Sams teach yourself emacs in 24hours(我简称为sams24) |
| 79 | +;;启用版本控制,即可以备份多次 |
| 80 | +(setq version-control t) |
| 81 | +;;备份最原始的版本两次,记第一次编辑前的文档,和第二次编辑前的文档 |
| 82 | +(setq kept-old-versions 2) |
| 83 | +;;备份最新的版本五次,理解同上 |
| 84 | +(setq kept-new-versions 5) |
| 85 | +;;删掉不属于以上7中版本的版本 |
| 86 | +(setq delete-old-versions t) |
| 87 | +;;设置备份文件的路径 |
| 88 | +(setq backup-directory-alist '(("." . "~/.emacs.ext/tmp"))) |
| 89 | +;;备份设置方法,直接拷贝 |
| 90 | +(setq backup-by-copying t) |
| 91 | + |
| 92 | + ;; 所有的备份文件转移到~/backups目录下 |
| 93 | +(setq backup-directory-alist (quote (("." . "~/.emacs.ext/tmp")))) |
| 94 | +;; Emacs 中,改变文件时,默认都会产生备份文件(以 ~ 结尾的文件)。可以完全去掉 |
| 95 | +;; (并不可取),也可以制定备份的方式。这里采用的是,把所有的文件备份都放在一 |
| 96 | +;; 个固定的地方("~/var/tmp")。对于每个备份文件,保留最原始的两个版本和最新的 |
| 97 | +;; 五个版本。并且备份的时候,备份文件是复本,而不是原件。 |
| 98 | + |
| 99 | +;;不产生备份文件 |
| 100 | +;;(setq make-backup-files nil) |
| 101 | + |
| 102 | +;;默认用空格代替tab |
| 103 | +(setq-default indent-tabs-mode nil) |
| 104 | + |
| 105 | +;;使用快速buffer切换 |
| 106 | +(iswitchb-mode 1) |
| 107 | + |
| 108 | +;;在标题栏显示当前buffer所有位置 |
| 109 | +(setq frame-title-format '("Emacs@"system-name": %b %+%+ %f")) |
| 110 | + |
| 111 | +;;设置在双栏模式下自动折行显示 |
| 112 | +(setq truncate-partial-width-windows nil) |
| 113 | + |
| 114 | +;设定用户信息 |
| 115 | +(setq user-full-name "Tang Liqun") |
| 116 | +( setq user-mail-address "[email protected]") |
| 117 | +;设置地理位置 |
| 118 | +(setq calendar-latitude 31.22) |
| 119 | +(setq calendar-longitude 121.48) |
| 120 | +(setq calendar-location-name "Shanghai") |
| 121 | + |
| 122 | +;;加入行号显示 |
| 123 | +(require 'linum) |
| 124 | + |
| 125 | +;;高亮当前行 |
| 126 | +;;(global-hl-line-mode 1) |
| 127 | + |
| 128 | +;;;设置c-o,这样在一行中的任何位置就可以直接新建一行了。相当于先c-e再enter |
| 129 | +(global-set-key (kbd "C-o") |
| 130 | + '(lambda () |
| 131 | + (interactive) |
| 132 | + (end-of-line 1) |
| 133 | + (newline-and-indent))) |
| 134 | + |
| 135 | +;;对付重名 buffer |
| 136 | +(require 'uniquify) |
| 137 | +(setq uniquify-buffer-name-style 'forward) |
| 138 | + |
| 139 | +(split-window-horizontally) |
| 140 | +(enlarge-window-horizontally 15) |
| 141 | + |
| 142 | +;;(auto-revert-mode t) |
| 143 | +(global-auto-revert-mode) |
| 144 | + |
| 145 | +;;加强c-x c-b (buffer list)的功能,用起来和目录差不多, 按 g 刷新 |
| 146 | +(require 'ibuffer) |
| 147 | +(global-set-key (kbd "C-x C-b") 'ibuffer) |
| 148 | +(autoload 'ibuffer "ibuffer" "List buffers." t) |
| 149 | + |
| 150 | +(ansi-color-for-comint-mode-on) |
| 151 | + |
| 152 | +;;你是不是经常按 C-y 放进一个 kill-ring 里的单元。然后 M-y,M-y,…… 来寻找你需要的很久以前剪切下来的东西?很费事吧?用了 browse-kill-ring 就好了。你只需要把它绑定到一个热键,比如 C-c k: 就能出现这样一个buffer |
| 153 | +;;(require 'browse-kill-ring) |
| 154 | +;;(global-set-key [(control c)(k)] 'browse-kill-ring) |
| 155 | + |
0 commit comments