Skip to content

Instantly share code, notes, and snippets.

@shiwork
Last active August 29, 2015 14:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shiwork/34058a3666356dd20c21 to your computer and use it in GitHub Desktop.
Save shiwork/34058a3666356dd20c21 to your computer and use it in GitHub Desktop.
Emacsの設定
(load (expand-file-name (concat (getenv "HOME") "/.emacs.d/init")))
(source gnu)
(source melpa)
(depends-on "bind-key")
(depends-on "cask")
(depends-on "dash")
(depends-on "drag-stuff")
(depends-on "exec-path-from-shell")
(depends-on "expand-region")
(depends-on "f")
(depends-on "flycheck")
(depends-on "flycheck-cask")
(depends-on "htmlize")
(depends-on "idle-highlight-mode")
(depends-on "magit")
(depends-on "multiple-cursors")
(depends-on "nyan-mode")
(depends-on "pallet")
(depends-on "popwin")
(depends-on "prodigy")
(depends-on "projectile")
(depends-on "s")
(depends-on "smartparens")
(depends-on "smex")
(depends-on "use-package")
(depends-on "web-mode")
(depends-on "yasnippet")
(depends-on "direx")
(depends-on "popup")
(depends-on "helm")
(depends-on "undo-tree")
(depends-on "helm-projectile")
;; auto-complete
(depends-on "auto-complete")
;; golang
(depends-on "go-mode")
(depends-on "go-autocomplete")
(depends-on "go-eldoc")
(depends-on "go-direx")
;; emacs
; Alt+ArrowsでWindowを切り替える
(when (fboundp 'windmove-default-keybindings)
(windmove-default-keybindings))
(windmove-default-keybindings 'meta)
; 補完で大文字小文字無視
(setq read-file-name-completion-ignore-case t)
; 対応する括弧を光らせる。
(show-paren-mode 1)
; 編集行のハイライト
(global-hl-line-mode)
; Command + right or leftでbufferを切り替える
(global-set-key (kbd "s-<right>") 'next-buffer)
(global-set-key (kbd "s-<left>") 'previous-buffer)
;; Environment
; homebrew
(add-to-list 'exec-path (expand-file-name "/usr/local/bin"))
;; Emacs package manager
(require 'cask)
(cask-initialize)
;;; Package settings
;; Backup file directory
(setq backup-directory-alist
(cons (cons ".*" (expand-file-name "~/.emacs.d/backup"))
backup-directory-alist))
;; autocomplete
(require 'auto-complete)
(require 'auto-complete-config)
(global-auto-complete-mode t)
;; projectile
(require 'projectile)
(projectile-global-mode)
(setq projectile-completion-system 'helm)
(helm-projectile-on)
;; direx
(require 'direx)
;;; Emacs mode config
;; golang
(add-to-list 'exec-path (expand-file-name "/usr/local/opt/go/libexec/bin"))
(add-to-list 'exec-path (expand-file-name "~/go/bin"))
(add-hook 'go-mode-hook
(lambda ()
;; GOROOT, GOPATH環境変数の読み込み
(let ((envs '("GOROOT" "GOPATH")))
(exec-path-from-shell-copy-envs envs))
(setq-default)
;; indentの設定
(setq tab-width 2)
(setq standard-indent 2)
(setq indent-tabs-mode nil)
;; godef keybind
(local-set-key (kbd "M-.") 'godef-jump)
(local-set-key (kbd "M-,") 'pop-tag-mark)
;; autocomplete
(define-key ac-mode-map (kbd "M-TAB") 'auto-complete)
))
(eval-after-load "go-mode"
'(progn
(require 'go-autocomplete)
(add-hook 'go-mode-hook 'go-eldoc-setup)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment