;; /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. )