Last active
May 10, 2017 19:18
-
-
Save everdance/26d430da69d1515a816ede77b122bfea to your computer and use it in GitHub Desktop.
emacs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;;; XIAOLEI'S .emacs file | |
(setq user-full-name "Xiaolei liu") | |
(setq user-mail-address "tristones.liu@gmail.com") | |
(add-to-list 'load-path "~/.emacs.d/vendor") | |
(require 'package) | |
(add-to-list 'package-archives | |
'("melpa" . "http://melpa.org/packages/") t) | |
(package-initialize) | |
(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. | |
'(coffee-tab-width 2) | |
'(custom-enabled-themes (quote (misterioso))) | |
'(list-directory-brief-switches "-l") | |
'(package-selected-packages | |
(quote | |
(yaml-mode web-mode scss-mode json-mode js2-mode jade-mode haskell-mode go-mode go-autocomplete flycheck exec-path-from-shell elm-mode))) | |
'(send-mail-function (quote sendmail-send-it))) | |
(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. | |
) | |
(set-frame-font "Monaco 18") | |
(setq-default indent-tabs-mode nil) | |
(setq-default tab-width 2) | |
(setq tab-width 2) | |
(setq indent-line-function 'insert-tab) | |
(setq make-backup-files nil) | |
(setenv "PATH" (concat "/usr/local/smlnj/bin:" (getenv "PATH"))) | |
(setq exec-path (cons "/usr/local/smlnj/bin" exec-path)) | |
(require 'go-autocomplete) | |
(require 'auto-complete-config) | |
(ac-config-default) | |
(add-to-list 'ac-dictionary-directories "~/.emacs.d/auto-complete/ac-dict") | |
(exec-path-from-shell-copy-env "GOPATH") | |
(add-to-list 'load-path (concat (getenv "GOPATH") "/src/github.com/golang/lint/misc/emacs")) | |
(require 'golint) | |
(setq gofmt-command "goimports") | |
(add-hook 'before-save-hook 'gofmt-before-save) | |
;; automatically clean up bad whitespace | |
(setq whitespace-action '(auto-cleanup)) | |
;; only show bad whitespace | |
(setq whitespace-style '(trailing space-before-tab indentation empty space-after-tab)) | |
;; This gives you a tab of 2 spaces | |
;; web mode config | |
(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)) | |
(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) | |
(setq web-mode-markup-indent-offset 2) | |
(setq web-mode-css-indent-offset 2) | |
(setq web-mode-code-indent-offset 2) | |
(require 'yaml-mode) | |
(add-to-list 'auto-mode-alist '("\\.yml$" . yaml-mode)) | |
(add-hook 'yaml-mode-hook | |
(lambda () | |
(define-key yaml-mode-map "\C-m" 'newline-and-indent))) | |
(setq js2-basic-offset 2) | |
(setq js-indent-level 2) | |
(setq css-indent-level 2) | |
(setq css-indent-offset 2) | |
;; use web-mode for .jsx files | |
(add-to-list 'auto-mode-alist '("\\.jsx$" . web-mode)) | |
;; http://www.flycheck.org/manual/latest/index.html | |
(require 'flycheck) | |
;; turn on flychecking globally | |
(add-hook 'after-init-hook #'global-flycheck-mode) | |
;; disable jshint since we prefer eslint checking | |
(setq-default flycheck-disabled-checkers | |
(append flycheck-disabled-checkers | |
'(javascript-jshint))) | |
;; use eslint with web-mode for jsx files | |
(flycheck-add-mode 'javascript-eslint 'web-mode) | |
;; customize flycheck temp file prefix | |
(setq-default flycheck-temp-prefix ".flycheck") | |
;; disable json-jsonlist checking for json files | |
(setq-default flycheck-disabled-checkers | |
(append flycheck-disabled-checkers | |
'(json-jsonlist))) | |
;; https://github.com/purcell/exec-path-from-shell | |
;; only need exec-path-from-shell on OSX | |
;; this hopefully sets up path and other vars better | |
(when (memq window-system '(mac ns)) | |
(exec-path-from-shell-initialize)) | |
;; custom defines | |
(defalias 'yes-or-no-p 'y-or-n-p) | |
(setq column-number-mode t) | |
(global-set-key (kbd "RET") 'newline-and-indent) | |
(global-set-key (kbd "C-;") 'comment-or-uncomment-region) | |
(global-set-key (kbd "M-/") 'hippie-expand) | |
(global-set-key (kbd "C-+") 'text-scale-increase) | |
(global-set-key (kbd "C--") 'text-scale-decrease) | |
(global-set-key (kbd "C-c C-k") 'compile) | |
(global-set-key (kbd "C-x g") 'magit-status) | |
(provide '.emacs) | |
;;; .emacs ends here | |
(put 'upcase-region 'disabled nil) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment