Watanuki00 2020-01-31
emacs配置,就是我们CSP考试时用的那个
;; 本 emacs 配置在 emacs26 起效 ;; via iotang ;; t = True ;; nil = False (package-initialize) ;; 默认编码环境。 (set-language-environment "UTF-8") (set-default-coding-systems 'utf-8) ;; 不显示欢迎页面。 (setq-default inhibit-startup-screen t) ;; 设置标题。 (setq-default frame-title-format "%b") ;; 剪贴板共享。 (setq-default x-select-enable-clipboard t) ;; 不显示工具栏。在旧版本中,这个值可能是 nil。 (tool-bar-mode 0) ;; 启用 cua-mode (C-x C-c C-v 分别代表剪切,复制,粘贴)。 (cua-mode t) ;; 全选大文件的时候不会卡死。当然,如果你使用的是 fcitx,并且打开了剪贴板支持,在复制大文件的时候还是会卡死。你可以使用 emacs-terminal 来解决这个问题。 (setq-default select-active-regions 'only) ;; emacs-terminal 鼠标可用。 (xterm-mouse-mode t) ;; emacs 和系统的剪贴板共用。 (setq-default x-select-enable-clipboard t) ;; 显示行号。 (global-linum-mode t) ;; 高亮当前行。 (global-hl-line-mode 1) ;; 高亮匹配括号。 (show-paren-mode t) (setq show-paren-style 'parenthesis) ;; 光标形状。'box = 框;'bar = 竖线。 (setq-default cursor-type 'bar) ;; Ctrl-z 撤销。 (global-set-key (kbd "C-z") 'undo) ;; Ctrl-a 全选。 (global-set-key (kbd "C-a") 'mark-whole-buffer) ;; Ctrl-s 保存。 (global-set-key (kbd "C-s") 'save-buffer) ;; 撤销记录扩大。 (setq-default kill-ring-max 65535) ;; 开启备份文件。 (setq-default auto-save-mode t) (setq-default backup-by-copying t) ;; 设置备份文件时间间隔。这个单位是秒。 (setq-default auto-save-timeout 30) ;; 优化文件树结构。 (ido-mode t) ;; 鼠标滚轮支持。 (mouse-wheel-mode t) ;; 优化页面滚动。 (setq-default scroll-step 1 scroll-margin 3 scroll-conservatively 10000) ;; 语法高亮。 (global-font-lock-mode t) ;; 回答 yes/no 改成回答 y/n。 (fset 'yes-or-no-p 'y-or-n-p) ;; 在 buffer 分界条上显示(24小时制)时间。 (display-time-mode 1) (setq-default display-time-24hr-format t) (setq-default display-time-interval 1) ;; 默认字体是 Ubuntu Mono 的 12 号。 ;; (set-default-font "Ubuntu Mono-12") ;; 透明度。 (set-frame-parameter (selected-frame) 'alpha (list 90 70)) (add-to-list 'default-frame-alist (cons 'alpha (list 90 70))) ;; C++ 代码风格。 ;; "bsd" = 所有大括号换行。这是真理 ;; "java" = 所有大括号不换行。else 接在右大括号后面。 ;; "k&r" = "awk" = 只有命名空间旁、定义类、定义函数时的大括号换行。else 接在右大括号后面。 ;; "stroustrup" = 只有命名空间旁、定义类、定义函数时的大括号换行。else 换行。 ;; "whitesmith" = 所有大括号换行。大括号有一次额外缩进。 ;; "gnu" = 所有大括号换行。每次左括号开始,会有一层额外缩进。这是 emacs 默认 ;; "linux" = 只有命名空间旁、定义类、定义函数时的大括号换行。else 接在右大括号后面。一般来说,这个风格应该有 8 格的空格缩进。 (setq-default c-default-style "bsd") ;; C++ 代码缩进长度。 (setq-default c-basic-offset 4) ;; 使用 tab 缩进。 (setq-default indent-tabs-mode t) ;; tab 的长度。务必和缩进长度一致。 (setq-default default-tab-width 4) (setq-default tab-width 4) ;; 换行的时候自动缩进。 (global-set-key (kbd "RET") 'newline-and-indent) ;; 一键编译。 (defun compile-file ()(interactive)(compile (format "g++ -o %s %s -g -lm -Wall" (file-name-sans-extension (buffer-name))(buffer-name)))) (defun compile-current () (interactive) (eshell-command (format "g++ -o %s %s -g -lm -Wall" (file-name-sans-extension (buffer-name))(buffer-name)))) (global-set-key [f9] 'compile-current) (global-set-key [f8] 'compile) ;; 一键 GDB。 (global-set-key [f10] 'gud-gdb) ;; deeper-blue 配色方案。 (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(ansi-color-faces-vector [default default default italic underline success warning error]) '(ansi-color-names-vector ["#212526" "#ff4b4b" "#b4fa70" "#fce94f" "#729fcf" "#e090d7" "#8cc4ff" "#eeeeec"]) '(cua-mode t nil (cua-base)) '(custom-enabled-themes (quote (deeper-blue))) '(display-time-mode t) '(show-paren-mode t) '(tool-bar-mode nil)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(default ((t (:family "Consolas" :foundry "outline" :slant normal :weight normal :height 143 :width normal)))))