0%

emacs配置

配置文件来自https://oi-wiki.org/intro/editor/emacs/

考场配置

    ;;设置一键编译 可以自行添加参数 难背考场不建议使用 不建议依赖一键编译
    (defun compile-file ()(interactive)(compile (format "g++ -o %s %s -g -lm -Wall" (file-name-sans-extension (buffer-name))(buffer-name))))
    (global-set-key [f9] 'compile-file)
    ;;;;设置编译快捷键(如果设置了一键编译不要与一键编译冲突)
    ;;(global-set-key [f9] 'compile)

    (global-set-key (kbd "C-a") 'mark-whole-buffer) ;;全选快捷键
    (global-set-key (kbd "C-z") 'undo) ;;撤销快捷键
    (global-set-key [f10] 'gud-gdb) ;;GDB调试快捷键
    (global-set-key (kbd "RET") 'newline-and-indent) ;;换行自动缩进
    (global-set-key (kbd "C-s") 'save-buffer) ;;设置保存快捷键
    (setq-default kill-ring-max 65535) ;;扩大可撤销记录

    ;;C++ 代码风格 一般控制缩进规则
    ;;;"bsd" 所有大括号换行
    ;;;"java" 所有大括号不换行。else 接在右大括号后面
    ;;;"awk" 只有命名空间旁、定义类、定义函数时的大括号换行。else 接在右大括号后面
    ;;;"linux" 只有命名空间旁、定义类、定义函数时的大括号换行。else 接在右大括号后面。一般来说,这个风格应该有 8 格的空格缩进
    (setq-default c-default-style "awk")

完整配置

;;设置一键编译
(defun compile-file ()(interactive)(compile (format "g++ -o %s %s -g -lm -Wall" (file-name-sans-extension (buffer-name))(buffer-name))))
(global-set-key [f9] 'compile-file)
;;;;设置编译快捷键(如果设置了一键编译不要与一键编译冲突)
;;(global-set-key [f9] 'compile)

;;考场必备
(global-set-key (kbd "C-a") 'mark-whole-buffer) ;;全选快捷键
(global-set-key (kbd "C-z") 'undo) ;;撤销快捷键
(global-set-key [f10] 'gud-gdb) ;;GDB调试快捷键
(global-set-key (kbd "RET") 'newline-and-indent) ;;换行自动缩进
(global-set-key (kbd "C-s") 'save-buffer) ;;设置保存快捷键
(setq-default kill-ring-max 65535) ;;扩大可撤销记录

;;C++ 代码风格 一般控制缩进规则
;;;"bsd" = 所有大括号换行。
;;;"java" = 所有大括号不换行。else 接在右大括号后面。
;;;"k&r" = "awk" = 只有命名空间旁、定义类、定义函数时的大括号换行。else 接在右大括号后面。
;;;"stroustrup" = 只有命名空间旁、定义类、定义函数时的大括号换行。else 换行。
;;;"whitesmith" = 所有大括号换行。大括号有一次额外缩进。
;;;"gnu" = 所有大括号换行。每次左括号开始,会有一层额外缩进。这是 emacs 默认。
;;;"linux" = 只有命名空间旁、定义类、定义函数时的大括号换行。else 接在右大括号后面。一般来说,这个风格应该有 8 格的空格缩进。
(setq-default c-default-style "awk")

;;设置缩进
;;;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)

;;设置默认编码环境
(set-language-environment "UTF-8")
(set-default-coding-systems 'utf-8)

;;不显示欢迎页面。
(setq-default inhibit-startup-screen t)

;;设置标题。
(setq-default frame-title-format "")

;;显示行号。
(global-linum-mode t)

;;高亮当前行。
(global-hl-line-mode 1)

;;高亮匹配括号。
(show-paren-mode t)

;;设置光标形状为竖线(默认为方块)
(setq-default cursor-type 'bar)

;; 透明度。
(set-frame-parameter (selected-frame) 'alpha (list 85 60))
(add-to-list 'default-frame-alist (cons 'alpha (list 85 60)))

;; 优化页面滚动。
(setq-default scroll-margin 3 scroll-conservatively 10000)

;; 优化文件树结构。
(ido-mode t)

(custom-set-variables 
;; tsdh-dark 配色方案。
 '(ansi-color-faces-vector [default default default italic underline success warning error])
 '(ansi-color-names-vector ["#212526" "#ff4b4b" "#b4fa70" "#fce94f" "#729fcf" "#e090d7" "#8cc4ff" "#eeeeec"])
 '(custom-enabled-themes (quote (tsdh-dark)))
;; 启动 Ctrl-x Ctrl-c Ctrl-v = 剪切 复制 粘贴。
 '(cua-mode t nil (cua-base))
;; 隐藏工具栏。
 '(tool-bar-mode nil)
)

(electric-pair-mode 1)
(setq visible-bell 1)