首页 > 学院 > 开发设计 > 正文

Emacs 配置文件

2019-11-14 10:05:42
字体:
来源:转载
供稿:网友

emacs 的配置文件在 .emacs.d 文件夹下的,init.el,是用lisp语言写的。下图其他为插件安装位置。 这里写图片描述 以下是个人的之前学习后,在配置的init.el。

包含了主题,自动补全符号,字体,隐藏toolbar, 行号等等。根据需要配置,另外保存一份,以后可以复制该文件再安装缺少的插件即可。

(require ‘package) (add-to-list ‘package-archives ‘(“melpa” . “http://melpa.milkbox.net/packages/“) t) (package-initialize)

(set-frame-parameter nil ‘background-mode ‘dark) (load-theme ‘solarized t)

(set-default-font “Monaco-13”)

(tool-bar-mode -1) ;;frame size (add-to-list ‘default-frame-alist ‘(height . 38)) (add-to-list ‘default-frame-alist ‘(width . 65))

(global-hl-line-mode 1 )

(require ‘linum) (global-linum-mode t)

;;set default fonts ;;(add-to-list ‘default-frame-alist ‘(font . “monaco-13”))

(setq gc-cons-threshold 100000000) (setq inhibit-startup-message t)

(defalias ‘yes-or-no-p ‘y-or-n-p)

;; this variables must be set before load helm-gtags ;; you can change to any PRefix key of your choice (setq helm-gtags-prefix-key “/C-cg”)

(add-to-list ‘load-path “~/.emacs.d/custom”)

(require ‘setup-helm) (require ‘setup-helm-gtags) ;; (require ‘setup-ggtags) (require ‘setup-cedet) (require ‘setup-editing)

(windmove-default-keybindings)

;; function-args ;; (require ‘function-args) ;; (fa-config-default) ;; (define-key c-mode-map [(tab)] ‘company-complete) ;; (define-key c++-mode-map [(tab)] ‘company-complete)

;; company (require ‘company) (add-hook ‘after-init-hook ‘global-company-mode) (delete ‘company-semantic company-backends) (define-key c-mode-map [(tab)] ‘company-complete) (define-key c++-mode-map [(tab)] ‘company-complete) ;; (define-key c-mode-map [(control tab)] ‘company-complete) ;; (define-key c++-mode-map [(control tab)] ‘company-complete)

;; company-c-headers (add-to-list ‘company-backends ‘company-c-headers)

;; hs-minor-mode for folding source code (add-hook ‘c-mode-common-hook ‘hs-minor-mode)

;; Available C style: ;; “gnu”: The default style for GNU projects ;; “k&r”: What Kernighan and Ritchie, the authors of C used in their book ;; “bsd”: What BSD developers use, aka “Allman style” after Eric Allman. ;; “whitesmith”: Popularized by the examples that came with Whitesmiths C, an early commercial C compiler. ;; “stroustrup”: What Stroustrup, the author of C++ used in his book ;; “ellemtel”: Popular C++ coding standards as defined by “Programming in C++, Rules and Recommendations,” Erik Nyquist and Mats Henricson, Ellemtel ;; “linux”: What the Linux developers use for kernel development ;; “python”: What Python developers use for extension modules ;; “java”: The default style for java-mode (see below) ;; “user”: When you want to define your own style (setq c-default-style “ellemtel” ;; set style to “linux” )

(global-set-key (kbd “RET”) ‘newline-and-indent) ; automatically indent when press RET

;; activate whitespace-mode to view all whitespace characters (global-set-key (kbd “C-c w”) ‘whitespace-mode)

;;&define ;; show unncessary whitespace that can mess up your diff ;;(add-hook ‘prog-mode-hook (lambda () (interactive) (setq sho;;w-trailing-whitespace 1)))

;; use space to indent by default (setq-default indent-tabs-mode nil)

;; set appearance of a tab that is represented by 4 spaces ;;(setq-default tab-width 4)

;; Compilation (global-set-key (kbd “”) (lambda () (interactive) (setq-local compilation-read-command nil) (call-interactively ‘compile)))

;; setup GDB (setq ;; use gdb-many-windows by default gdb-many-windows t

;; Non-nil means display source file containing the main routine at startup gdb-show-main t )

;; Package: clean-aindent-mode (require ‘clean-aindent-mode) (add-hook ‘prog-mode-hook ‘clean-aindent-mode)

;; Package: dtrt-indent (require ‘dtrt-indent) (dtrt-indent-mode 1)

;; Package: ws-butler (require ‘ws-butler) (add-hook ‘prog-mode-hook ‘ws-butler-mode)

;; Package: yasnippet (require ‘yasnippet) (yas-global-mode 1)

;; Package: smartparens (require ‘smartparens-config) (setq sp-base-key-bindings ‘paredit) (setq sp-autoskip-closing-pair ‘always) (setq sp-hybrid-kill-entire-symbol nil) (sp-use-paredit-bindings)

(show-smartparens-global-mode +1) (smartparens-global-mode 1) ;;//when you press RET, the curly braces automatically add another newline (sp-with-modes ‘(c-mode c++-mode) (sp-local-pair “{” nil :post-handlers ‘((“||/n[i]” “RET”))) (sp-local-pair “/” “/” :post-handlers ‘((” | ” “SPC”) (“* ||/n[i]” “RET”))))

;; Package: projejctile (require ‘projectile) (projectile-global-mode) (setq projectile-enable-caching t)

(require ‘helm-projectile) (helm-projectile-on) (setq projectile-completion-system ‘helm) (setq projectile-indexing-method ‘alien)

(require ‘web-mode) (add-to-list ‘auto-mode-alist ‘(“/.phtml/’” . web-mode)) (add-to-list ‘auto-mode-alist ‘(“/.tpl/.php’” . web-mode)) (add-to-list ‘auto-mode-alist ‘(“/.[agj]sp/’” . web-mode)) (add-to-list ‘auto-mode-alist ‘(“/.as[cp]x/’” . web-mode)) (add-to-list ‘auto-mode-alist ‘(“/.erb/’” . web-mode)) (add-to-list ‘auto-mode-alist ‘(“/.mustache/’” . web-mode)) (add-to-list ‘auto-mode-alist ‘(“/.djhtml/’” . web-mode)) (add-to-list ‘auto-mode-alist ‘(“/.html?/’” . web-mode))


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表