Major update + cleanup

This commit is contained in:
Henrik Lissner 2015-05-07 03:19:24 -04:00
parent 51589eb7a1
commit bea393083c
29 changed files with 388 additions and 358 deletions

View file

@ -30,8 +30,15 @@
(sp-with-modes '(json-mode js2-mode ruby-mode enh-ruby-mode python-mode)
(sp-local-pair "[" nil :post-handlers '(("||\n[i]" "RET"))))
(sp-with-modes '(java-mode c++-mode c-mode)
(sp-local-pair "/**" "*/" :post-handlers '(("* ||\n[i]" "RET"))))
(sp-with-modes '(c-mode c++-mode objc-mode java-mode scss-mode css-mode php-mode)
(sp-local-pair "/* " " */" :post-handlers '(("||\n[i]" "RET")))
(sp-local-pair "/**" "*/" :post-handlers '(("||\n[i]" "RET"))))
(sp-with-modes '(objc-mode scss-mode css-mode)
(sp-local-pair "/*\n" "\n */" :post-handlers '(("||[i]" "RET"))))
(sp-with-modes '(c-mode c++-mode php-mode java-mode)
(sp-local-pair "/*" "" :post-handlers '((" ||\n[i]*/" "RET"))))
(after "yasnippet"
(defadvice yas-expand (before advice-for-yas-expand activate)

View file

@ -5,7 +5,7 @@
:config
(progn
(setq evil-want-visual-char-semi-exclusive t
evil-search-module 'evil-search
evil-search-module 'isearch
evil-search-wrap nil
evil-magic 'magic
evil-want-C-u-scroll t ; enable C-u for scrolling
@ -83,15 +83,21 @@
(setq evil-snipe-override-evil t)
(setq evil-snipe-scope 'visible)
(setq evil-snipe-repeat-scope 'buffer)
(setq evil-snipe-override-evil-repeat-keys nil)
(setq-default evil-snipe-symbol-groups
'((?\[ "[[{(]")
(?\] "[]})]")))
(bind 'visual "z" 'evil-snipe-s)
(bind 'visual "Z" 'evil-snipe-S)))
(bind 'motion
"C-;" 'evil-snipe-repeat
"C-," 'evil-snipe-repeat-reverse
(use-package evil-visualstar))
'visual
"z" 'evil-snipe-s
"Z" 'evil-snipe-S)))
(use-package evil-visualstar
:config (global-evil-visualstar-mode 1)))
(bind evil-ex-completion-map
"C-r" #'evil-ex-paste-from-register ; registers in ex-mode
@ -178,24 +184,6 @@
file-name))
(progn ; ex-commands
(evil-ex-define-cmd "full[scr]" 'toggle-frame-fullscreen)
(evil-ex-define-cmd "k[ill]" 'kill-this-buffer) ; Kill current buffer
(evil-ex-define-cmd "k[ill]o" 'my-cleanup-buffers) ; Kill current project buffers
(evil-ex-define-cmd "k[ill]all" 'my:kill-buffers) ; Kill all buffers (bang = project buffers only)
(evil-ex-define-cmd "k[ill]buried" 'my:kill-buried-buffers) ; Kill all buffers (bang = project buffers only)
(evil-ex-define-cmd "ini" 'my:init-files)
(evil-ex-define-cmd "n[otes]" 'my:notes)
(evil-ex-define-cmd "recompile" 'my:byte-compile)
(evil-ex-define-cmd "cd" 'my:cd)
(evil-ex-define-cmd "en[ew]" 'my:create-file)
(evil-ex-define-cmd "ren[ame]" 'my:rename-this-file) ; Rename file . Bang: Delete old one
(evil-ex-define-cmd "al[ign]" 'my:align)
(evil-ex-define-cmd "retab" 'my:retab)
(evil-ex-define-cmd "sq[uint]" 'my:narrow-indirect) ; Narrow buffer to selection
(evil-ex-define-cmd "x" 'my:scratch-buffer)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(evil-define-command my:kill-buffers (&optional bang)
:repeat nil
(interactive "<!>")
@ -278,7 +266,7 @@ provided."
(message "File '%s' successfully renamed to '%s'"
name (file-name-nondirectory new-name)))))))
(evil-define-operator my:scratch-buffer (beg end &optional bang)
(evil-define-operator my:scratch-buffer (&optional beg end bang)
"Send a selection to the scratch buffer. If BANG, then send it to org-capture
instead."
:move-point nil

View file

@ -11,13 +11,6 @@
(setq mac-command-modifier 'meta)
(setq mac-option-modifier 'alt)
;; Restore text nav keys
(bind (kbd "<A-left>") 'backward-word
(kbd "<A-right>") 'forward-word
(kbd "M-a") 'mark-whole-buffer
(kbd "M-v") 'evil-paste-after
(kbd "M-s") 'save-buffer)
;; fix emacs PATH on OSX (GUI only)
(use-package exec-path-from-shell
:if (memq window-system '(mac ns))

View file

@ -37,7 +37,11 @@
(when (functionp 'menu-bar-mode) (menu-bar-mode -1)) ; no menubar
(when (fboundp 'fringe-mode) (fringe-mode '(5 . 10))) ; no nonsense
(when window-system (setq frame-title-format '(buffer-file-name "%f" ("%b"))))
(when window-system
(setq frame-title-format '(buffer-file-name "%f" ("%b")))
(if (string-equal (system-name) "io")
(set-frame-size (selected-frame) 326 119)))
;;;; Modeline ;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-package uniquify
@ -51,16 +55,18 @@
(mapconcat 'identity
'(" SP"
" Fill"
" yas"
" Fly"
" EvilOrg"
" Abbrev"
" snipe"
" company"
" Anaconda"
" WS"
" GitGutter"
" Undo-Tree"
" Projectile\\[.+\\]"
" hs"
" ElDoc"
" wg"
) "\\|"))
:init
(progn

View file

@ -1,5 +1,7 @@
(defconst is-mac (eq system-type 'darwin))
(defconst is-linux (eq system-type 'gnu/linux))
(defconst is-mac (eq system-type 'darwin))
(defconst is-linux (eq system-type 'gnu/linux))
(defconst is-windows (or (eq system-type 'ms-dos)
(eq system-type 'windows-nt)))
(when is-linux (add-to-list 'load-path "~/.cask"))
(setq use-package-verbose DEBUG-MODE)
@ -153,19 +155,16 @@
(setq delete-trailing-lines nil)
(add-hook 'makefile-mode-hook 'indent-tabs-mode) ; Use normal tabs in makefiles
;; Make sure scratch buffer is always "in a project"
(add-hook 'find-file-hook
(lambda()
(let ((buffer (get-buffer "*scratch*"))
(pwd (my--project-root)))
(when (buffer-live-p buffer)
(save-window-excursion
(switch-to-buffer buffer)
(unless (eq (my--project-root) pwd)
(cd pwd)
(rename-buffer (format "*scratch* (%s)" (file-name-base (directory-file-name pwd))))))))))
;; My own minor mode!
(define-minor-mode my-mode :global t :keymap (make-sparse-keymap))
(defun set-project-scratch-buffer ()
(let ((buffer (get-buffer "*scratch*"))
(pwd (my--project-root)))
(when (buffer-live-p buffer)
(save-window-excursion
(switch-to-buffer buffer)
(unless (eq (my--project-root) pwd)
(cd pwd)
(rename-buffer (format "*scratch* (%s)" (file-name-nondirectory (directory-file-name pwd)))))))))
(add-hook 'find-file-hook 'set-project-scratch-buffer)
;;;; Behavior adjustments ;;;;;;;;;;;;;;;;
@ -235,10 +234,7 @@
;;;; Start the party ;;;;;;;;;;;;;;;;;;;
(if is-mac (require 'core-osx))
;; (if is-linux (require 'core-linux))
(require 'core-ui)
(require 'core-evil)
(require 'core-editor)
;; (if is-windows (require 'core-windows))
(use-package server
:config

View file

@ -117,7 +117,11 @@ spaces on either side of the point if so. Resorts to
((sp-point-in-comment)
(cond ((eq major-mode 'js2-mode)
(js2-line-break))
((-contains? '(c-mode c++-mode objc-mode java-mode) major-mode)
((-contains? '(java-mode php-mode) major-mode)
(c-indent-new-comment-line))
((-contains? '(c-mode c++-mode objc-mode css-mode scss-mode) major-mode)
(newline-and-indent)
(insert "* ")
(indent-according-to-mode))
(t (indent-new-comment-line))))
(t (newline-and-indent))))

View file

@ -61,34 +61,31 @@ the checking happens for all pairs in auto-minor-mode-alist"
;; Keybindings ;;;;;;;;;;;;;;;;;;;;;;;;;
(defun bind (state &rest keys)
(let ((state-list state)
(is-global (or (stringp state)
(vectorp state)))
keymap)
(if is-global
(setq keys (-insert-at 0 state keys))
(progn
(if (keymapp (car keys))
(setq keymap (pop keys)))
(if (or (keymapp state)
(not (listp state)))
(setq state-list (list state)))))
(defun bind (&rest keys)
(let (state-list keymap key def)
(while keys
(let ((-key (pop keys))
(-def (pop keys)))
(if (stringp -key)
(setq -key (kbd -key)))
(if is-global
(global-set-key -key -def)
(dolist (-state state-list)
(cond ((evil-state-p -state)
(define-key
(if keymap
(evil-get-auxiliary-keymap keymap -state t)
(evil-state-property -state :keymap t)) -key -def))
((keymapp -state)
(define-key -state -key -def)))))))))
(setq key (pop keys))
(cond ((keymapp key)
(setq keymap key))
((or (evil-state-p key)
(and (listp key) (evil-state-p (car key))))
(setq state-list key))
(t
(if (stringp key)
(setq key (kbd key)))
(setq def (pop keys))
(when (null def)
(user-error "No definition for '%s' keybinding" key))
(if (null state-list)
(if (null keymap)
(global-set-key key def)
(define-key keymap key def))
(unless (listp state-list)
(setq state-list (list state-list)))
(dolist (state state-list)
(define-key (if keymap
(evil-get-auxiliary-keymap keymap state t)
(evil-state-property state :keymap t)) key def))))))))
(after "evil"
(evil-define-command my--maybe-exit-insert-mode ()