• _emacs配置文件


    (绝大部分是来自网上别人的配置文件,自己略加修改罢了。)

    将会保持更新!!

    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)
    

      

  • 相关阅读:
    sqlmap使用教程-安装教程
    SQL注入攻击总结
    mysql 创建函数失败解决办法,版本 8.0.26
    【VUE3.0体验】axios引入以及property的替代
    异化的房价周期
    vue使用websoket
    spring依赖注入方式及springBoot如何解决循环依赖
    范型的正确使用
    mysql GROUP_CONCAT使用
    Mybatis-MySQL 中使用IFNUL
  • 原文地址:https://www.cnblogs.com/lazycal/p/2660528.html
Copyright © 2020-2023  润新知