dotfiles/.emacs.d/init.el
2014-01-18 02:54:10 -05:00

144 lines
4.5 KiB
EmacsLisp

;; /This/ file (~init.el~) that you are reading
;; should be in this folder
(add-to-list 'load-path "~/.emacs.d/")
(if (< emacs-major-version 23)
(defun characterp (obj)
(and (char-or-string-p obj) (not (stringp obj)))))
(fset 'yes-or-no-p 'y-or-n-p)
;; Package Manager
;; See ~Cask~ file for its configuration
;; https://github.com/cask/cask
(require 'cask "~/.cask/cask.el")
(cask-initialize)
;; Keeps ~Cask~ file in sync with the packages
;; that you install/uninstall via ~M-x list-packages~
;; https://github.com/rdallasgray/pallet
(require 'pallet)
;; Root directory
(setq root-dir (file-name-directory
(or (buffer-file-name) load-file-name)))
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/")
;; Don't show startup screen
(let ((background-color "#2F2F2F")
(foreground-color "LightGrey")
(fname "Inconsolata-13")
(fheight 45)
(fwidth 115))
(set-default-font fname)
(add-to-list 'default-frame-alist (cons 'font fname))
; (set-background-color background-color)
; (add-to-list 'default-frame-alist (cons 'background-color background-color))
; (set-foreground-color foreground-color)
; (add-to-list 'default-frame-alist (cons 'foreground-color foreground-color))
(add-to-list 'default-frame-alist (cons 'height fheight))
(add-to-list 'default-frame-alist (cons 'width fwidth))
)
(setq inhibit-startup-screen t)
;; Show keystrokes
(setq echo-keystrokes 0.02)
;; Path
(require 'exec-path-from-shell)
(when (memq window-system '(mac ns))
(exec-path-from-shell-initialize))
;; Evil!
(require 'evil)
(evil-mode 1)
(setq evil-default-cursor t)
;; Git
(require 'magit)
(eval-after-load 'magit
(progn '(global-set-key (kbd "C-x g") 'magit-status)))
;; flx-ido completion system, recommended by Projectile
(require 'flx-ido)
(flx-ido-mode 1)
;; change it if you have a fast processor.
(setq flx-ido-threshhold 1000)
;; Project management
(require 'ack-and-a-half)
(require 'projectile)
(projectile-global-mode)
;; Snippets
;; https://github.com/capitaomorte/yasnippet
(require 'yasnippet)
(yas-load-directory (concat root-dir "snippets"))
(yas-global-mode 1)
;; Evil Key Defines
(define-key evil-normal-state-map "gc" 'kill-buffer-and-window)
(load-theme 'barak)
;; Hack to get *Messages* in viper-mode.
;; ;; (must be done after loading viper)
;; ;; Futzing with fundamental-mode doesn't seem to help.
;; (save-excursion
;; (set-buffer "*Messages*")
;; (viper-change-state-to-vi))
;Tabbar settings (Simple groups)
;(defun tabbar-buffer-groups ()
;"Return the list of group names the current buffer belongs to.
;This function is a custom function for tabbar-mode's tabbar-buffer-groups.
;This function group all buffers into 3 groups:
;Those Dired, those user buffer, and those emacs buffer.
;Emacs buffer are those starting with “*”."
;(list
;(cond
;((string-equal "*" (substring (buffer-name) 0 1))
;"Emacs Buffer"
;)
;((eq major-mode 'dired-mode)
;"Dired"
;)
;(t
;"User Buffer"
;)
;))) ; from Xah Lee
;(setq tabbar-buffer-groups-function 'tabbar-buffer-groups)
;(tabbar-mode)
;(add-to-list 'ex-token-alist '("ls" (list-buffers)))
;(add-to-list 'ex-token-alist '("mx" (icicle-execute-extended-command)))
;(vimpulse-map "gn" 'tabbar-forward-tab)
;(vimpulse-map "gp" 'tabbar-backward-tab)
;(vimpulse-map "gw" 'vimpulse-search-forward-for-symbol-at-point)
;(vimpulse-map "gK" 'kill-buffer-and-window)
;(vimpulse-map "gc" 'kill-buffer-and-window)
;(define-key viper-insert-global-user-map "\C-d" 'delete-char))
;(define-key evil-normal-state-map "gn" 'tabbar-forward-tab)
;(define-key evil-normal-state-map "gp" 'tabbar-backward-tab)
;(add-hook 'window-setup-hook 'delete-other-windows)
(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.
'(custom-safe-themes (quote ("f2acfa2f448218e8868bbb4b914e9f5a8c580e8a33d19809f4a4f32ad306cab5" "9df3b76bdd78c0209521b4e0374dcbdd4f2c8cd40ca00fedcd499e53630c646b" "6ca7862869dcbf7079ab507dbceb37e42e71fe7dd4b83f994de9b42037436bf2" "7a3b1a9661a271313a71a5177f31f344f533cab4c68c47985571d28b8f320769" "9370aeac615012366188359cb05011aea721c73e1cb194798bc18576025cabeb" default))))
(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.
)