convert to neobundle, disable eclim, work on emacs
This commit is contained in:
parent
01aa8955da
commit
924d2b4bf9
217 changed files with 56 additions and 33678 deletions
276
.emacs.d/init.el
276
.emacs.d/init.el
|
|
@ -1,266 +1,12 @@
|
|||
;; /This/ file (~init.el~) that you are reading
|
||||
;; should be in this folder
|
||||
(add-to-list 'load-path "~/.emacs.d/")
|
||||
(add-to-list 'load-path "~/.emacs.d/neotree")
|
||||
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
|
||||
("org" . "http://orgmode.org/elpa/")
|
||||
("marmalade" . "http://marmalade-repo.org/packages/")
|
||||
("melpa-stable" . "http://melpa-stable.milkbox.net/packages/")))
|
||||
(package-initialize)
|
||||
|
||||
(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)
|
||||
(menu-bar-mode -1)
|
||||
|
||||
(setq tab-width 4)
|
||||
(setq indent-tabs-mode nil)
|
||||
|
||||
;; 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)))
|
||||
(setq make-backup-files nil)
|
||||
(setq auto-save-default nil)
|
||||
|
||||
(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))
|
||||
(global-relative-buffers-mode)
|
||||
|
||||
;; Tabbar
|
||||
(defun autohide-tabbar ()
|
||||
"Make tabbar briefly show itself while you are switching
|
||||
buffers with shortcuts. Tested with GNU Emacs 23."
|
||||
(defvar *tabbar-autohide-delay* 3)
|
||||
(interactive)
|
||||
(tabbar-mode nil)
|
||||
(defvar *tabbar-autohide-timer* nil)
|
||||
(defun renew-tabbar-autohide-timer ()
|
||||
(if (timerp *tabbar-autohide-timer*)
|
||||
(cancel-timer *tabbar-autohide-timer*))
|
||||
(setf *tabbar-autohide-timer*
|
||||
(run-with-timer
|
||||
3 nil (lambda ()
|
||||
(tabbar-mode -1)
|
||||
(setf *tabbar-autohide-timer*
|
||||
nil)))))
|
||||
(global-set-key
|
||||
[C-next]
|
||||
(lambda ()
|
||||
(interactive)
|
||||
(if tabbar-mode
|
||||
(tabbar-forward)
|
||||
(tabbar-mode 1))
|
||||
(renew-tabbar-autohide-timer)))
|
||||
(global-set-key
|
||||
[C-prior]
|
||||
(lambda ()
|
||||
(interactive)
|
||||
(if tabbar-mode
|
||||
(tabbar-backward)
|
||||
(tabbar-mode 1))
|
||||
(renew-tabbar-autohide-timer))))
|
||||
(autohide-tabbar)
|
||||
|
||||
;; Evil!
|
||||
(require 'evil-leader)
|
||||
(global-evil-leader-mode)
|
||||
(evil-leader/set-leader ",")
|
||||
(require 'evil)
|
||||
(evil-mode 1)
|
||||
(setq evil-default-cursor t)
|
||||
|
||||
;; Jedi.el
|
||||
(add-hook 'python-mode-hook 'jedi:setup)
|
||||
(setq jedi:setup-keys t) ; optional
|
||||
(setq jedi:complete-on-dot t) ; optional
|
||||
|
||||
;; Git
|
||||
(require 'magit)
|
||||
(eval-after-load 'magit
|
||||
(progn '(global-set-key (kbd "C-x g") 'magit-status)))
|
||||
|
||||
;; gitgutter
|
||||
(global-git-gutter-mode)
|
||||
(custom-set-variables
|
||||
'(git-gutter:hide-gutter t))
|
||||
|
||||
;; flx-ido completion system, recommended by Projectile
|
||||
(require 'flx-ido)
|
||||
(require 'grizzl)
|
||||
(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)
|
||||
(setq projectile-completion-system 'grizzl)
|
||||
(projectile-global-mode)
|
||||
|
||||
; Autocomplete
|
||||
(require 'auto-complete-config)
|
||||
(ac-config-default)
|
||||
(setq ac-dwim t)
|
||||
(setq ac-expand-on-auto-complete nil)
|
||||
(setq ac-use-fuzzy t)
|
||||
(setq ac-auto-start t)
|
||||
(define-key ac-completing-map (kbd "<escape>") 'ac-stop)
|
||||
|
||||
; Company-mode autocomplete
|
||||
(require 'company) ; load company mode
|
||||
(require 'company-go) ; load company mode go backend
|
||||
(setq company-tooltip-limit 20) ; bigger popup window
|
||||
(setq company-minimum-prefix-length 0) ; autocomplete right after '.'
|
||||
(setq company-idle-delay .3) ; shorter delay before autocompletion popup
|
||||
(setq company-echo-delay 0) ; removes annoying blinking
|
||||
(setq company-begin-commands '(self-insert-command)) ; start autocompletion only after typing
|
||||
|
||||
;; Snippets
|
||||
;; https://github.com/capitaomorte/yasnippet
|
||||
(require 'yasnippet)
|
||||
(yas-load-directory (concat root-dir "snippets"))
|
||||
(yas-global-mode 1)
|
||||
|
||||
;; Neotree
|
||||
(require 'neotree)
|
||||
(menu-bar-mode -1)
|
||||
|
||||
(require 'key-chord)
|
||||
(require 'tabbar)
|
||||
|
||||
;; Functions
|
||||
(defun move-cursor-next-pane ()
|
||||
"Move cursor to the next pane."
|
||||
(interactive)
|
||||
(other-window 1))
|
||||
|
||||
(defun move-cursor-previous-pane ()
|
||||
"Move cursor to the previous pane."
|
||||
(interactive)
|
||||
(other-window -1))
|
||||
;; Evil Key Defines
|
||||
(define-key evil-normal-state-map "gc" 'kill-buffer-and-window)
|
||||
(define-key evil-normal-state-map "gn" 'tabbar-forward-tab)
|
||||
(define-key evil-normal-state-map "gp" 'tabbar-backward-tab)
|
||||
(define-key evil-normal-state-map (kbd "C-e") 'move-end-of-line)
|
||||
(define-key evil-normal-state-map (kbd "C-a") 'move-beginning-of-line)
|
||||
(define-key evil-normal-state-map (kbd "C-j") 'move-cursor-next-pane)
|
||||
(define-key evil-normal-state-map (kbd "C-k") 'move-cursor-previous-pane)
|
||||
|
||||
|
||||
(define-key evil-insert-state-map (kbd "C-e") 'move-end-of-line)
|
||||
(define-key evil-insert-state-map (kbd "C-a") 'move-beginning-of-line)
|
||||
;(setq key-chord-two-keys-delay 0.5)
|
||||
(key-chord-define evil-insert-state-map "jj" 'evil-normal-state)
|
||||
(key-chord-mode 1)
|
||||
(evil-leader/set-key
|
||||
"o" 'projectile-switch-to-buffer
|
||||
"t" 'projectile-find-file
|
||||
)
|
||||
|
||||
(load-theme 'barak t)
|
||||
|
||||
|
||||
|
||||
|
||||
;; _
|
||||
;; | |__ _ _ _ __ _ _ _ __ _ __ _ ___ ___
|
||||
;; | / _` | ' \/ _` | || / _` / _` / -_|_-<
|
||||
;; |_\__,_|_||_\__, |\_,_\__,_\__, \___/__/
|
||||
;; |___/ |___/
|
||||
(add-hook 'go-mode-hook (lambda ()
|
||||
(add-hook 'before-save-hook #'gofmt-before-save)
|
||||
(setq indent-tabs-mode t)
|
||||
(set (make-local-variable 'company-backends) '(company-go))
|
||||
(company-mode)))
|
||||
|
||||
|
||||
|
||||
|
||||
;; 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.
|
||||
)
|
||||
(defun require-package (package)
|
||||
(setq-default highlight-tabs t)
|
||||
"Install given PACKAGE."
|
||||
(unless (package-installed-p package)
|
||||
(unless (assoc package package-archive-contents)
|
||||
(package-refresh-contents))))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue