(绝大部分是来自网上别人的配置文件,自己略加修改罢了。)
将会保持更新!!
windows:
;;Load_path (add-to-list 'load-path' "~/.emacs.d/lisp") ;;todo_path (setq todo-file-do "~/emacs/todo/do") (setq todo-file-done "~/emacs/todo/done") (setq todo-file-top "~/emacs/todo/top") ;;Personal information (setq user-full-name "Lazycal") (setq user-mail-address "[email protected]") ;;外观设置 ;;颜色设置,其实有个color-theme.el可以将Emacs设置丰富多彩,非常漂亮,不过启动有些慢,我只是选择了一些颜色设置。 ;;高亮行 (require 'hl-line) (global-hl-line-mode t) ;;历史 ;;(require 'session-settings) ;(require 'color-theme) ;(color-theme-aalto-light) ;;开启时最大化 ;;Thanks http://zhaojunde1976.blog.163.com/blog/static/121998668201041131130734/ (run-with-idle-timer 0 nil 'w32-send-sys-command 61488) ;; 回车缩进 (global-set-key "\C-m" 'newline-and-indent) (global-set-key (kbd "C-<return>") 'newline-and-indent) ;;font (set-default-font "YaHei Consolas Hybrid") (add-to-list 'default-frame-alist '(font . "YaHei Consolas Hybrid-11")) ;;;;;去掉工具栏 (tool-bar-mode nil) ;;光标显示为一竖线 (setq-default cursor-type 'bar) ;;;;;去掉菜单栏,我将F10绑定为显示菜单栏,万一什么东西忘了,需要菜单栏了可以摁F10调出,再摁F10就去掉菜单 (menu-bar-mode nil) ;;;;;不要滚动栏,现在都用滚轴鼠标了,可以不用滚动栏了 (scroll-bar-mode nil) ;;;;;改变emacs标题栏的标题 (setq frame-title-format "%b") ;;;;;允许emacs和外部其他程序的粘贴 (setq x-select-enable-clipboard t) ;; 显示列号 (setq column-number-mode t) ;;开启语法高亮。 (global-font-lock-mode 1) ;;设置tab为4个空格的宽度 (setq default-tab-width 4) (setq c-basic-offset 4) ;;;;;;;;; 设置界面 start (setq inhibit-startup-message t) (set-cursor-color "Wheat") (set-mouse-color "Wheat") (set-foreground-color "Wheat") (set-background-color "DarkSlateGray") (if window-system (setq default-frame-alist (append '( (top . 0) (left . 100) (width . 110) (height . 35)) default-frame-alist)) ) ;;;;;启用时间显示设置,在minibuffer上面的那个杠上(忘了叫什么来着) (display-time-mode 1) ;;设置缺省目录 (setq default-directory "D:/lazycal") ;;;;;时间使用24小时制 (setq display-time-24hr-format t) ;;;;;时间显示包括日期和具体时间 (setq display-time-day-and-date t) ;;;;;时间的变化频率,单位多少来着? (setq display-time-interval 10) ;;;;;鼠标自动避开指针,如当你输入的时候,指针到了鼠标的位置,鼠标有点挡住视线了 (mouse-avoidance-mode 'animate) ;;;;;指针不要闪,我得眼睛花了 (blink-cursor-mode -1) ;;====================== Load linum ===================== ;;调用linum.el(line number)来显示行号: ;;(add-to-list 'load-path"~/.emacs.d/plugins") (require 'linum) (global-linum-mode 1) ;;---------------------- END linum --------------------- ;;;高亮显示要拷贝的内容 (transient-mark-mode 1) ;;;;;当指针到一个括号时,自动显示所匹配的另一个括号 (show-paren-mode 1) ;;;;;是用滚轴鼠标 (mouse-wheel-mode t) ;;;;;备份设置 ;;;;;emacs还有一个自动保存功能,默认在~/.emacs.d/auto-save-list里,这个非常有用,我这里没有改动,具体可以参见Sams teach yourself emacs in 24hours(我简称为sams24) ;;;;;启用版本控制,即可以备份多次 (setq version-control t) ;;;;;备份最原始的版本两次,记第一次编辑前的文档,和第二次编辑前的文档 (setq kept-onld-versions 2) ;;;;;备份最新的版本五次,理解同上 (setq kept-new-versions 5) ;;;;;删掉不属于以上7中版本的版本 (setq delete-old-versions t) ;;;;;设置备份文件的路径 (setq backup-directory-alist '(("." . "~/.emacs.tmp"))) ;;;;;备份设置方法,直接拷贝 (setq backup-by-copying t) ;; 自动存盘 (setq auto-save-mode t) ;; C-k 删除整行包括回车 (setq-default kill-whole-line t) ;;(blink-cursor-mode -1) ;; 存盘的时候,要求最后一个字符时换行符。 (setq require-final-newline t) ;;;;;去掉烦人的警告铃声 (setq visible-bell nil) (defun kill-the-whole-line() "rt" (interactive) (save-excursion (beginning-of-line) (kill-line) ) ) ;;(global-unset-key (kbd "C-k")) ;;;;;滚动页面时比较舒服,不要整页的滚动 (setq scroll-step 1 scroll-margin 3 scroll-conservatively 10000) ;;;;;标记 (global-set-key [(control ?\.)] 'ska-point-to-register) (global-set-key [(control ?\,)] 'ska-jump-to-register) (defun ska-point-to-register() "Store cursorposition _fast_ in a register. Use ska-jump-to-register to jump back to the stored position." (interactive) (setq zmacs-region-stays t) (point-to-register 8)) (defun ska-jump-to-register() "Switches between current cursorposition and position that was stored with ska-point-to-register." (interactive) (setq zmacs-region-stays t) (let ((tmp (point-marker))) (jump-to-register 8) (set-register 8 tmp))) (defun string<=(a b) (or (string< a b) (string= a b)) ) (defun string>(a b) (not (string<= a b)) ) (defun string>=(a b) (or (string> a b) (string= a b)) ) (defun the_first_char_is_num(a) (let ((sa (substring a 0 1))) (and (string<= sa "9") (string>= sa "0")) ) ) (defun filename() (buffer-name) ) (defun filename_non_suffix() (substring (filename) 0 (string-match (regexp-quote ".") (filename))) ) ;;热键设置 (global-set-key (kbd "C-k") (lambda () (interactive) (beginning-of-line) (kill-line) ) ) (defun my-pascal-mode-hook() ;(setq filename (buffer-name)) ;(setq filename_non_suffix (substring filename 0 (string-match (regexp-quote ".") filename))) (setq-default compile-command (concat "fpc " (filename_non_suffix) ".pas")) (local-set-key [C-f2] (lambda() (interactive ) (split-window-vertically) (find-file (concat (filename_non_suffix) ".out"))) ) (local-set-key [C-f1] (lambda() (interactive ) (split-window-vertically) (find-file (concat (filename_non_suffix) ".in"))) ) ) (add-hook 'pascal-mode-hook 'my-pascal-mode-hook) (defun my-c++-mode-hook() ;(setq filename (buffer-name)) ;(setq filename_non_suffix (substring filename 0 (string-match (regexp-quote ".") filename))) (local-set-key [f7] '(lambda() (interactive) (compile (concat "g++ " (filename_non_suffix) ".cpp -o " (filename_non_suffix) ".exe -g -Wall && start " (filename_non_suffix) ".exe")) ) ) ;;c++编写文件的快捷键(edited by very lazy Lazycal) (local-set-key (kbd "C-c C-f") ;(define-key c++-mode-base-map (kbd "C-c C-f") (lambda () (interactive) (insert "#ifndef ONLINE_JUDGE") (newline-and-indent) (insert "freopen(\"" (filename_non_suffix) ".in\",\"r\",stdin);") (newline-and-indent) (insert "freopen(\"" (filename_non_suffix) ".out\",\"w\",stdout);") (newline-and-indent) (insert "#endif") (newline-and-indent) ) ) (local-set-key [f8] (lambda() (interactive ) (shell-command (concat "start " (filename_non_suffix) ".exe"))) ) (local-set-key [f12] (lambda() (interactive ) (split-window-vertically) (find-file (concat (filename_non_suffix) ".out"))) ) (local-set-key [f11] (lambda() (interactive ) (split-window-vertically) (find-file (concat (filename_non_suffix) ".in"))) ) ) (add-hook 'c++-mode-hook 'my-c++-mode-hook) (global-set-key [M-f5] (lambda() (interactive ) (kill-this-buffer) (delete-window) ) ) (global-set-key [M-f6] 'speedbar) (global-set-key [f5] 'delete-window) (global-set-key [f6] 'other-window) (global-set-key [f9] 'gdb) (global-set-key [M-f9] 'gdb-many-windows) (global-set-key [M-f7] 'previous-error) (global-set-key [M-f8] 'next-error) ;;;;;设定删除保存记录为200,可以方便以后无pp限恢复 (setq kill-ring-max 200) ;;;;;是用aspell程序作为Emacs的拼写检查成学 (setq-default ispell-program-name "aspell") (require 'chm-view) (require 'w3m-load) (setq w3m-use-favicon nil) (setq w3m-command-arguments '("-cookie" "-F")) (setq w3m-use-cookies t) (setq w3m-home-page "http://www.baidu.com") (setq w3m-default-display-inline-images t) ;(require 'session) ;(add-hook 'after-init-hook 'session-initialize) ;(require 'wcy-desktop) ;(wcy-desktop-init)
linux:
;;Load_path (add-to-list 'load-path' "~/.emacs.d/lisp") ;;todo_path ;(setq todo-file-do "~/emacs/todo/do") ;(setq todo-file-done "~/emacs/todo/done") ;(setq todo-file-top "~/emacs/todo/top") ;;Personal information (setq user-full-name "Lazycal") (setq user-mail-address "[email protected]") ;;外观设置 ;;颜色设置,其实有个color-theme.el可以将Emacs设置丰富多彩,非常漂亮,不过启动有些慢,我只是选择了一些颜色设置。 ;;高亮行 (require 'hl-line) (global-hl-line-mode t) ;;历史 ;;(require 'session-settings) ;(load "/home/lazycal/Yunio/solarized/emacs-colors-solarized/color-theme-solarized.el") ;(require 'color-theme) ;(color-theme-solarized-lignt) ;(color-theme-aalto-light) ;;开启时最大化 ;;Thanks http://zhaojunde1976.blog.163.com/blog/static/121998668201041131130734/ ;(run-with-idle-timer 0 nil 'w32-send-sys-command 61488) ;; 回车缩进 (global-set-key "\C-m" 'newline-and-indent) (global-set-key (kbd "C-") 'newline-and-indent) ;;font (set-default-font "Ubuntu Mono") (add-to-list 'default-frame-alist '(font . "Ubuntu Mono-11")) ;;;;;去掉工具栏 (tool-bar-mode nil) ;;光标显示为一竖线 (setq-default cursor-type 'bar) ;;;;;去掉菜单栏,我将F10绑定为显示菜单栏,万一什么东西忘了,需要菜单栏了可以摁F10调出,再摁F10就去掉菜单 (menu-bar-mode nil) ;;;;;不要滚动栏,现在都用滚轴鼠标了,可以不用滚动栏了 ;(scroll-bar-mode nil) ;;;;;改变emacs标题栏的标题 (setq frame-title-format "%b") ;;;;;允许emacs和外部其他程序的粘贴 (setq x-select-enable-clipboard t) ;; 显示列号 (setq column-number-mode t) ;;开启语法高亮。 (global-font-lock-mode 1) ;;设置tab为4个空格的宽度 (setq default-tab-width 4) (setq c-basic-offset 4) ;;;;;;;;; 设置界面 start (setq inhibit-startup-message t) (set-cursor-color "Black") (set-mouse-color "Black") (set-foreground-color "Black") (set-background-color "White") ;(if window-system ; (setq default-frame-alist ; (append ; '( (top . 0) ; (left . 100) ; (width . 110) ; (height . 35)) ; default-frame-alist)) ; ) ;;;;;启用时间显示设置,在minibuffer上面的那个杠上(忘了叫什么来着) (display-time-mode 1) ;;设置缺省目录 (setq default-directory "~/桌面/OI") ;;;;;时间使用24小时制 (setq display-time-24hr-format t) ;;;;;时间显示包括日期和具体时间 (setq display-time-day-and-date t) ;;;;;时间的变化频率,单位多少来着? (setq display-time-interval 10) ;;;;;鼠标自动避开指针,如当你输入的时候,指针到了鼠标的位置,鼠标有点挡住视线了 (mouse-avoidance-mode 'animate) ;;;;;指针不要闪,我得眼睛花了 (blink-cursor-mode -1) ;;====================== Load linum ===================== ;;调用linum.el(line number)来显示行号: ;;(add-to-list 'load-path"~/.emacs.d/plugins") (require 'linum) (global-linum-mode 1) ;;---------------------- END linum --------------------- ;;;高亮显示要拷贝的内容 (transient-mark-mode 1) ;;;;;当指针到一个括号时,自动显示所匹配的另一个括号 (show-paren-mode 1) ;;;;;是用滚轴鼠标 (mouse-wheel-mode t) ;;;;;备份设置 ;;;;;emacs还有一个自动保存功能,默认在~/.emacs.d/auto-save-list里,这个非常有用,我这里没有改动,具体可以参见Sams teach yourself emacs in 24hours(我简称为sams24) ;;;;;启用版本控制,即可以备份多次 (setq version-control t) ;;;;;备份最原始的版本两次,记第一次编辑前的文档,和第二次编辑前的文档 (setq kept-onld-versions 2) ;;;;;备份最新的版本五次,理解同上 (setq kept-new-versions 5) ;;;;;删掉不属于以上7中版本的版本 (setq delete-old-versions t) ;;;;;设置备份文件的路径 (setq backup-directory-alist '(("." . "~/.emacs.tmp"))) ;;;;;备份设置方法,直接拷贝 (setq backup-by-copying t) ;; 自动存盘 (setq auto-save-mode t) ;; C-k 删除整行包括回车 (setq-default kill-whole-line t) ;;(blink-cursor-mode -1) ;; 存盘的时候,要求最后一个字符时换行符。 (setq require-final-newline t) ;;;;;去掉烦人的警告铃声 (setq visible-bell nil) (defun kill-the-whole-line() "rt" (interactive) (save-excursion (beginning-of-line) (kill-line) ) ) ;;(global-unset-key (kbd "C-k")) ;;;;;滚动页面时比较舒服,不要整页的滚动 (setq scroll-step 1 scroll-margin 3 scroll-conservatively 10000) ;;;;;标记 (global-set-key [(control ?\.)] 'ska-point-to-register) (global-set-key [(control ?\,)] 'ska-jump-to-register) (defun ska-point-to-register() "Store cursorposition _fast_ in a register. Use ska-jump-to-register to jump back to the stored position." (interactive) (setq zmacs-region-stays t) (point-to-register 8)) (defun ska-jump-to-register() "Switches between current cursorposition and position that was stored with ska-point-to-register." (interactive) (setq zmacs-region-stays t) (let ((tmp (point-marker))) (jump-to-register 8) (set-register 8 tmp))) (defun string<=(a b) (or (string< a b) (string= a b)) ) (defun string>(a b) (not (string<= a b)) ) (defun string>=(a b) (or (string> a b) (string= a b)) ) (defun the_first_char_is_num(a) (let ((sa (substring a 0 1))) (and (string<= sa "9") (string>= sa "0")) ) ) (defun filename() (buffer-name) ) (defun filename_non_suffix() (substring (filename) 0 (string-match (regexp-quote ".") (filename))) ) ;;热键设置 (global-set-key (kbd "C-k") (lambda () (interactive) (beginning-of-line) (kill-line) ) ) (defun my-pascal-mode-hook() ;(setq filename (buffer-name)) ;(setq filename_non_suffix (substring filename 0 (string-match (regexp-quote ".") filename))) (setq-default compile-command (concat "fpc " (filename_non_suffix) ".pas")) (local-set-key [C-f2] (lambda() (interactive ) (split-window-vertically) (find-file (concat (filename_non_suffix) ".out"))) ) (local-set-key [C-f1] (lambda() (interactive ) (split-window-vertically) (find-file (concat (filename_non_suffix) ".in"))) ) ) (add-hook 'pascal-mode-hook 'my-pascal-mode-hook) (defun my-c++-mode-hook() ;(setq filename (buffer-name)) ;(setq filename_non_suffix (substring filename 0 (string-match (regexp-quote ".") filename))) (local-set-key [f7] '(lambda() (interactive) (compile (concat "g++ " (filename_non_suffix) ".cpp -o " (filename_non_suffix) " -g -Wall && gnome-terminal -e ./" (filename_non_suffix) )) ) ) ;;c++编写文件的快捷键(edited by very lazy Lazycal) (local-set-key (kbd "C-c C-f") ;(define-key c++-mode-base-map (kbd "C-c C-f") (lambda () (interactive) (insert "#ifndef ONLINE_JUDGE") (newline-and-indent) (insert "freopen(\"" (filename_non_suffix) ".in\",\"r\",stdin);") (newline-and-indent) (insert "freopen(\"" (filename_non_suffix) ".out\",\"w\",stdout);") (newline-and-indent) (insert "#endif") (newline-and-indent) ) ) (local-set-key [f8] (lambda() (interactive ) (shell-command (concat "exo-open --launch TerminalEmulator ./" (filename_non_suffix)))) ) (local-set-key [f12] (lambda() (interactive ) (split-window-vertically) (find-file (concat (filename_non_suffix) ".out"))) ) (local-set-key [f11] (lambda() (interactive ) (split-window-vertically) (find-file (concat (filename_non_suffix) ".in"))) ) ) (add-hook 'c++-mode-hook 'my-c++-mode-hook) (global-set-key [M-f5] (lambda() (interactive ) (kill-this-buffer) (delete-window) ) ) (global-set-key [M-f6] 'speedbar) (global-set-key [f5] 'delete-window) (global-set-key [f6] 'other-window) (global-set-key [f9] 'gdb) (global-set-key [M-f9] 'gdb-many-windows) (global-set-key [M-f7] 'previous-error) (global-set-key [M-f8] 'next-error) ;;;;;设定删除保存记录为200,可以方便以后无pp限恢复 (setq kill-ring-max 200) ;;;;;是用aspell程序作为Emacs的拼写检查成学 (setq-default ispell-program-name "aspell") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; 设置emacs-w3m浏览器 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;(add-to-list 'load-path "~/emacs-w3m/") ;(require 'w3m-load) ;(require 'mime-w3m) ;(autoload 'w3m "w3m" "interface for w3m on emacs" t) ;; 设置w3m主页 ;(setq w3m-home-page "http://www.baidu.com") ;; 默认显示图片 ;(setq w3m-default-display-inline-images t) ;(setq w3m-default-toggle-inline-images t) ;; 使用cookies ;(setq w3m-use-cookies t) ;;设定w3m运行的参数,分别为使用cookie和使用框架 ;(setq w3m-command-arguments '("-cookie" "-F")) ;; 使用w3m作为默认浏览器 ;(setq browse-url-browser-function 'w3m-browse-url) ;(setq w3m-view-this-url-new-session-in-background t) ;;显示图标 ;(setq w3m-show-graphic-icons-in-header-line t) ;(setq w3m-show-graphic-icons-in-mode-line t) ;;C-c C-p 打开,这个好用 ;(setq w3m-view-this-url-new-session-in-background t) ;(add-hook 'w3m-fontify-after-hook 'remove-w3m-output-garbages) ;(defun remove-w3m-output-garbages () ;"去掉w3m输出的垃圾." ;(interactive) ;(let ((buffer-read-only)) ;(setf (point) (point-min)) ;(while (re-search-forward "[\200-\240]" nil t) ;(replace-match " ")) ;(set-buffer-multibyte t)) ;(set-buffer-modified-p nil)) ;(require 'chm-view) ;(require 'session) ;(add-hook 'after-init-hook 'session-initialize) ;(require 'wcy-desktop) ;(wcy-desktop-init)