有用的东西(emacs配置和bzoj数据下载网址)

bzoj数据

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)))))

相关推荐