(绝大部分是来自网上别人的配置文件,自己略加修改罢了。)
将会保持更新!!
windows:
//linenums won't be copied
;;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 "Lazycal12@gmail.com")
;;外观设置
;;颜色设置,其实有个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:
//linenums won't be copied
;;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 "Lazycal12@gmail.com")
;;外观设置
;;颜色设置,其实有个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)
posted on
浙公网安备 33010602011771号