made mutliple-cursor and evil working together (more or less) by using expand-region and custom key chord bindings (also added some other stuff from magnars)

This commit is contained in:
syl20bnr 2012-12-29 15:39:39 -05:00
parent d95d16fe73
commit 5dfbec80e0
13 changed files with 1066 additions and 39 deletions

653
.mc-lists.el Normal file
View File

@ -0,0 +1,653 @@
;; This file is automatically generated by the multiple-cursors extension.
;; It keeps track of your preferences for running commands with multiple cursors.
(setq mc/cmds-to-run-for-all
'(
evil-a-WORD
evil-a-WORD
evil-a-WORD
evil-a-back-quote
evil-a-back-quote
evil-a-back-quote
evil-a-bracket
evil-a-bracket
evil-a-bracket
evil-a-curly
evil-a-curly
evil-a-curly
evil-a-double-quote
evil-a-double-quote
evil-a-double-quote
evil-a-paragraph
evil-a-paragraph
evil-a-paragraph
evil-a-paren
evil-a-paren
evil-a-paren
evil-a-sentence
evil-a-sentence
evil-a-sentence
evil-a-single-quote
evil-a-single-quote
evil-a-single-quote
evil-a-tag
evil-a-tag
evil-a-tag
evil-a-word
evil-a-word
evil-a-word
evil-align-center
evil-align-center
evil-align-center
evil-align-left
evil-align-left
evil-align-left
evil-align-right
evil-align-right
evil-align-right
evil-an-angle
evil-an-angle
evil-an-angle
evil-append
evil-append
evil-append
evil-append-line
evil-append-line
evil-append-line
evil-backward-WORD-begin
evil-backward-WORD-begin
evil-backward-WORD-begin
evil-backward-WORD-end
evil-backward-WORD-end
evil-backward-WORD-end
evil-backward-char
evil-backward-char
evil-backward-char
evil-backward-char
evil-backward-paragraph
evil-backward-paragraph
evil-backward-paragraph
evil-backward-section-begin
evil-backward-section-begin
evil-backward-section-begin
evil-backward-section-end
evil-backward-section-end
evil-backward-section-end
evil-backward-sentence
evil-backward-sentence
evil-backward-sentence
evil-backward-word-begin
evil-backward-word-begin
evil-backward-word-begin
evil-backward-word-end
evil-backward-word-end
evil-backward-word-end
evil-beginning-of-line
evil-beginning-of-line
evil-beginning-of-line
evil-beginning-of-line-or-digit-argument
evil-beginning-of-line-or-digit-argument
evil-beginning-of-line-or-digit-argument
evil-beginning-of-visual-line
evil-beginning-of-visual-line
evil-beginning-of-visual-line
evil-buffer
evil-buffer
evil-buffer
evil-change
evil-change
evil-change
evil-change-line
evil-change-line
evil-change-line
evil-change-to-initial-state
evil-change-to-initial-state
evil-change-to-initial-state
evil-change-to-previous-state
evil-change-to-previous-state
evil-change-to-previous-state
evil-change-whole-line
evil-change-whole-line
evil-change-whole-line
evil-close-fold
evil-close-fold
evil-close-fold
evil-close-folds
evil-close-folds
evil-close-folds
evil-complete-next
evil-complete-next
evil-complete-next
evil-complete-next-line
evil-complete-next-line
evil-complete-next-line
evil-complete-previous
evil-complete-previous
evil-complete-previous
evil-complete-previous-line
evil-complete-previous-line
evil-complete-previous-line
evil-copy-chars-from-line
evil-copy-chars-from-line
evil-copy-chars-from-line
evil-copy-from-above
evil-copy-from-above
evil-copy-from-above
evil-copy-from-below
evil-copy-from-below
evil-copy-from-below
evil-delete
evil-delete
evil-delete
evil-delete
evil-delete-backward-char
evil-delete-backward-char
evil-delete-backward-char
evil-delete-backward-word
evil-delete-backward-word
evil-delete-backward-word
evil-delete-buffer
evil-delete-buffer
evil-delete-buffer
evil-delete-char
evil-delete-char
evil-delete-char
evil-delete-char
evil-delete-line
evil-delete-line
evil-delete-line
evil-delete-whole-line
evil-delete-whole-line
evil-delete-whole-line
evil-digit-argument-or-evil-beginning-of-line
evil-digit-argument-or-evil-beginning-of-line
evil-digit-argument-or-evil-beginning-of-line
evil-downcase
evil-downcase
evil-downcase
evil-edit
evil-edit
evil-edit
evil-emacs-state
evil-emacs-state
evil-emacs-state
evil-end-of-line
evil-end-of-line
evil-end-of-line
evil-end-of-visual-line
evil-end-of-visual-line
evil-end-of-visual-line
evil-esc
evil-esc
evil-esc
evil-esc-mode
evil-esc-mode
evil-esc-mode
evil-ex
evil-ex
evil-ex
evil-ex-delete-backward-char
evil-ex-delete-backward-char
evil-ex-delete-backward-char
evil-ex-global
evil-ex-global
evil-ex-global
evil-ex-global-inverted
evil-ex-global-inverted
evil-ex-global-inverted
evil-ex-line-number
evil-ex-line-number
evil-ex-line-number
evil-ex-nohighlight
evil-ex-nohighlight
evil-ex-nohighlight
evil-ex-repeat
evil-ex-repeat
evil-ex-repeat
evil-ex-repeat-global-substitute
evil-ex-repeat-global-substitute
evil-ex-repeat-global-substitute
evil-ex-repeat-substitute
evil-ex-repeat-substitute
evil-ex-repeat-substitute
evil-ex-repeat-substitute-with-flags
evil-ex-repeat-substitute-with-flags
evil-ex-repeat-substitute-with-flags
evil-ex-repeat-substitute-with-search
evil-ex-repeat-substitute-with-search
evil-ex-repeat-substitute-with-search
evil-ex-repeat-substitute-with-search-and-flags
evil-ex-repeat-substitute-with-search-and-flags
evil-ex-repeat-substitute-with-search-and-flags
evil-ex-run-completion-at-point
evil-ex-run-completion-at-point
evil-ex-run-completion-at-point
evil-ex-search-abort
evil-ex-search-abort
evil-ex-search-abort
evil-ex-search-backward
evil-ex-search-backward
evil-ex-search-backward
evil-ex-search-exit
evil-ex-search-exit
evil-ex-search-exit
evil-ex-search-forward
evil-ex-search-forward
evil-ex-search-forward
evil-ex-search-next
evil-ex-search-next
evil-ex-search-next
evil-ex-search-previous
evil-ex-search-previous
evil-ex-search-previous
evil-ex-search-symbol-backward
evil-ex-search-symbol-backward
evil-ex-search-symbol-backward
evil-ex-search-symbol-forward
evil-ex-search-symbol-forward
evil-ex-search-symbol-forward
evil-ex-search-unbounded-symbol-backward
evil-ex-search-unbounded-symbol-backward
evil-ex-search-unbounded-symbol-backward
evil-ex-search-unbounded-symbol-forward
evil-ex-search-unbounded-symbol-forward
evil-ex-search-unbounded-symbol-forward
evil-ex-set-initial-state
evil-ex-set-initial-state
evil-ex-set-initial-state
evil-ex-substitute
evil-ex-substitute
evil-ex-substitute
evil-execute-in-emacs-state
evil-execute-in-emacs-state
evil-execute-in-emacs-state
evil-execute-in-normal-state
evil-execute-in-normal-state
evil-execute-in-normal-state
evil-execute-macro
evil-execute-macro
evil-execute-macro
evil-exit-emacs-state
evil-exit-emacs-state
evil-exit-emacs-state
evil-exit-visual-state
evil-exit-visual-state
evil-exit-visual-state
evil-exit-visual-state
evil-fill
evil-fill
evil-fill
evil-find-char
evil-find-char
evil-find-char
evil-find-char-backward
evil-find-char-backward
evil-find-char-backward
evil-find-char-to
evil-find-char-to
evil-find-char-to
evil-find-char-to
evil-find-char-to-backward
evil-find-char-to-backward
evil-find-char-to-backward
evil-find-file-at-point-with-line
evil-find-file-at-point-with-line
evil-find-file-at-point-with-line
evil-first-non-blank
evil-first-non-blank
evil-first-non-blank
evil-first-non-blank-of-visual-line
evil-first-non-blank-of-visual-line
evil-first-non-blank-of-visual-line
evil-force-normal-state
evil-force-normal-state
evil-force-normal-state
evil-forward-WORD-begin
evil-forward-WORD-begin
evil-forward-WORD-begin
evil-forward-WORD-end
evil-forward-WORD-end
evil-forward-WORD-end
evil-forward-char
evil-forward-char
evil-forward-char
evil-forward-char
evil-forward-paragraph
evil-forward-paragraph
evil-forward-paragraph
evil-forward-section-begin
evil-forward-section-begin
evil-forward-section-begin
evil-forward-section-end
evil-forward-section-end
evil-forward-section-end
evil-forward-sentence
evil-forward-sentence
evil-forward-sentence
evil-forward-word-begin
evil-forward-word-begin
evil-forward-word-begin
evil-forward-word-end
evil-forward-word-end
evil-forward-word-end
evil-goto-char
evil-goto-char
evil-goto-char
evil-goto-column
evil-goto-column
evil-goto-column
evil-goto-definition
evil-goto-definition
evil-goto-definition
evil-goto-first-line
evil-goto-first-line
evil-goto-first-line
evil-goto-line
evil-goto-line
evil-goto-line
evil-goto-mark
evil-goto-mark
evil-goto-mark
evil-goto-mark-line
evil-goto-mark-line
evil-goto-mark-line
evil-indent
evil-indent
evil-indent
evil-indent-line
evil-indent-line
evil-indent-line
evil-inner-WORD
evil-inner-WORD
evil-inner-WORD
evil-inner-angle
evil-inner-angle
evil-inner-angle
evil-inner-back-quote
evil-inner-back-quote
evil-inner-back-quote
evil-inner-bracket
evil-inner-bracket
evil-inner-bracket
evil-inner-curly
evil-inner-curly
evil-inner-curly
evil-inner-double-quote
evil-inner-double-quote
evil-inner-double-quote
evil-inner-paragraph
evil-inner-paragraph
evil-inner-paragraph
evil-inner-paren
evil-inner-paren
evil-inner-paren
evil-inner-sentence
evil-inner-sentence
evil-inner-sentence
evil-inner-single-quote
evil-inner-single-quote
evil-inner-single-quote
evil-inner-tag
evil-inner-tag
evil-inner-tag
evil-inner-word
evil-inner-word
evil-inner-word
evil-insert
evil-insert
evil-insert
evil-insert
evil-insert
evil-insert
evil-insert
evil-insert-digraph
evil-insert-digraph
evil-insert-digraph
evil-insert-line
evil-insert-line
evil-insert-line
evil-insert-resume
evil-insert-resume
evil-insert-resume
evil-insert-state
evil-insert-state
evil-insert-state
evil-invert-case
evil-invert-case
evil-invert-case
evil-invert-char
evil-invert-char
evil-invert-char
evil-join
evil-join
evil-join
evil-join-whitespace
evil-join-whitespace
evil-join-whitespace
evil-jump-backward
evil-jump-backward
evil-jump-backward
evil-jump-forward
evil-jump-forward
evil-jump-forward
evil-jump-item
evil-jump-item
evil-jump-item
evil-jump-to-tag
evil-jump-to-tag
evil-jump-to-tag
evil-last-non-blank
evil-last-non-blank
evil-last-non-blank
evil-line
evil-line
evil-line
evil-local-mode
evil-local-mode
evil-local-mode
evil-lookup
evil-lookup
evil-lookup
evil-mc-mark-more-like-this
evil-mode
evil-mode
evil-mode
evil-motion-state
evil-motion-state
evil-motion-state
evil-move-WORD
evil-move-WORD
evil-move-WORD
evil-move-empty-lines
evil-move-empty-lines
evil-move-empty-lines
evil-move-to-column
evil-move-to-column
evil-move-to-column
evil-move-word
evil-move-word
evil-move-word
evil-next-buffer
evil-next-buffer
evil-next-buffer
evil-next-close-brace
evil-next-close-brace
evil-next-close-brace
evil-next-close-paren
evil-next-close-paren
evil-next-close-paren
evil-next-line
evil-next-line
evil-next-line
evil-next-line-1-first-non-blank
evil-next-line-1-first-non-blank
evil-next-line-1-first-non-blank
evil-next-line-first-non-blank
evil-next-line-first-non-blank
evil-next-line-first-non-blank
evil-next-visual-line
evil-next-visual-line
evil-next-visual-line
evil-next-visual-line
evil-normal-state
evil-normal-state
evil-normal-state
evil-normal-state
evil-open-above
evil-open-above
evil-open-above
evil-open-below
evil-open-below
evil-open-below
evil-open-fold
evil-open-fold
evil-open-fold
evil-open-folds
evil-open-folds
evil-open-folds
evil-operator-shortcut-mode
evil-operator-shortcut-mode
evil-operator-shortcut-mode
evil-operator-state
evil-operator-state
evil-operator-state
evil-paste-after
evil-paste-after
evil-paste-after
evil-paste-before
evil-paste-before
evil-paste-before
evil-paste-from-register
evil-paste-from-register
evil-paste-from-register
evil-paste-pop
evil-paste-pop
evil-paste-pop
evil-paste-pop-next
evil-paste-pop-next
evil-paste-pop-next
evil-prev-buffer
evil-prev-buffer
evil-prev-buffer
evil-previous-line
evil-previous-line
evil-previous-line
evil-previous-line-first-non-blank
evil-previous-line-first-non-blank
evil-previous-line-first-non-blank
evil-previous-open-brace
evil-previous-open-brace
evil-previous-open-brace
evil-previous-open-paren
evil-previous-open-paren
evil-previous-open-paren
evil-previous-visual-line
evil-previous-visual-line
evil-previous-visual-line
evil-previous-visual-line
evil-record-macro
evil-record-macro
evil-record-macro
evil-repeat
evil-repeat
evil-repeat
evil-repeat-find-char
evil-repeat-find-char
evil-repeat-find-char
evil-repeat-find-char-reverse
evil-repeat-find-char-reverse
evil-repeat-find-char-reverse
evil-repeat-pop
evil-repeat-pop
evil-repeat-pop
evil-repeat-pop-next
evil-repeat-pop-next
evil-repeat-pop-next
evil-replace
evil-replace
evil-replace
evil-replace-backspace
evil-replace-backspace
evil-replace-backspace
evil-replace-state
evil-replace-state
evil-replace-state
evil-ret
evil-ret
evil-ret
evil-rot13
evil-rot13
evil-rot13
evil-search-backward
evil-search-backward
evil-search-backward
evil-search-forward
evil-search-forward
evil-search-forward
evil-search-next
evil-search-next
evil-search-next
evil-search-previous
evil-search-previous
evil-search-previous
evil-search-symbol-backward
evil-search-symbol-backward
evil-search-symbol-backward
evil-search-symbol-forward
evil-search-symbol-forward
evil-search-symbol-forward
evil-set-marker
evil-set-marker
evil-set-marker
evil-shell-command
evil-shell-command
evil-shell-command
evil-shift-left
evil-shift-left
evil-shift-left
evil-shift-right
evil-shift-right
evil-shift-right
evil-show-buffers
evil-show-buffers
evil-show-buffers
evil-show-file-info
evil-show-file-info
evil-show-file-info
evil-show-registers
evil-show-registers
evil-show-registers
evil-split-buffer
evil-split-buffer
evil-split-buffer
evil-split-next-buffer
evil-split-next-buffer
evil-split-next-buffer
evil-split-prev-buffer
evil-split-prev-buffer
evil-split-prev-buffer
evil-substitute
evil-substitute
evil-substitute
evil-toggle-fold
evil-toggle-fold
evil-toggle-fold
evil-upcase
evil-upcase
evil-upcase
evil-use-register
evil-use-register
evil-use-register
evil-visual-char
evil-yank
evil-yank
evil-yank
evil-yank-line
evil-yank-line
evil-yank-line
))
(setq mc/cmds-to-run-once
'(
evil-mouse-drag-region
))

116
funcs.el
View File

@ -1,9 +1,3 @@
(defun syl-python-compile ()
"Use compile to run python programs"
(interactive)
(compile (concat "python " (buffer-name))))
(setq compilation-scroll-output t)
;; from https://gist.github.com/3402786
(defun toggle-maximize-buffer () "Maximize buffer"
(interactive)
@ -13,31 +7,8 @@
(set-register '_ (list (current-window-configuration)))
(delete-other-windows))))
;; from http://github.com/technomancy/emacs-starter-kit
(defun esk-paredit-nonlisp ()
"Turn on paredit mode for non-lisps."
(interactive)
(set (make-local-variable 'paredit-space-for-delimiter-predicates)
'((lambda (endp delimiter) nil)))
(paredit-mode 1))
(defun z:set-transparency (value)
"Sets the transparency of the frame window. 0=transparent/100=opaque"
(interactive "nTransparency Value 0 - 100 opaque:")
(set-frame-parameter (selected-frame) 'alpha value))
(defun z:switch-to-next-frame ()
"Select the next frame on current display, and raise it."
(interactive)
(other-frame 1))
(defun z:switch-to-previous-frame ()
"Select the previous frame on current display, and raise it."
(interactive)
(other-frame -1))
;; http://emacswiki.org/emacs/TransposeWindows
(defun z:rotate-windows ()
;:http://emacswiki.org/emacs/TransposeWindows
(defun rotate-windows ()
"Rotate your windows"
(interactive)
(cond
@ -59,4 +30,87 @@
(set-window-start w2 s1)
(setq i (1+ i))))))))
(defun rename-current-buffer-file ()
"Renames current buffer and file it is visiting."
(interactive)
(let ((name (buffer-name))
(filename (buffer-file-name)))
(if (not (and filename (file-exists-p filename)))
(error "Buffer '%s' is not visiting a file!" name)
(let ((new-name (read-file-name "New name: " filename)))
(cond ((get-buffer new-name)
(error "A buffer named '%s' already exists!" new-name))
(t
(rename-file filename new-name 1)
(rename-buffer new-name)
(set-visited-file-name new-name)
(set-buffer-modified-p nil)
(message "File '%s' successfully renamed to '%s'" name (file-name-nondirectory new-name))))))))
(defun delete-current-buffer-file ()
"Removes file connected to current buffer and kills buffer."
(interactive)
(let ((filename (buffer-file-name))
(buffer (current-buffer))
(name (buffer-name)))
(if (not (and filename (file-exists-p filename)))
(ido-kill-buffer)
(when (yes-or-no-p "Are you sure you want to remove this file? ")
(delete-file filename)
(kill-buffer buffer)
(message "File '%s' successfully removed" filename)))))
(defun copy-current-file-path ()
"Add current file path to kill ring. Limits the filename to project root if possible."
(interactive)
(let ((filename (buffer-file-name)))
(kill-new (if eproject-mode
(s-chop-prefix (eproject-root) filename)
filename))))
(defun find-or-create-file-at-point ()
"Guesses what parts of the buffer under point is a file name and opens it."
(interactive)
(find-file (file-name-at-point)))
(defun find-or-create-file-at-point-other-window ()
"Guesses what parts of the buffer under point is a file name and opens it."
(interactive)
(find-file-other-window (file-name-at-point)))
(defun file-name-at-point ()
(save-excursion
(let* ((file-name-regexp "[./a-zA-Z0-9\-_~]")
(start (progn
(while (looking-back file-name-regexp)
(forward-char -1))
(point)))
(end (progn
(while (looking-at file-name-regexp)
(forward-char 1))
(point))))
(buffer-substring start end))))
(defun touch-buffer-file ()
(interactive)
(insert " ")
(backward-delete-char 1)
(save-buffer))
(defun sudo-edit (&optional arg)
(interactive "p")
(if (or arg (not buffer-file-name))
(find-file (concat "/sudo:root@localhost:" (ido-read-file-name "File: ")))
(find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name))))
(defun eval-and-replace ()
"Replace the preceding sexp with its value."
(interactive)
(backward-kill-sexp)
(condition-case nil
(prin1 (eval (read (current-kill 0)))
(current-buffer))
(error (message "Invalid expression")
(insert (current-kill 0)))))
(provide 'funcs)

View File

View File

@ -12,8 +12,10 @@
(define-key evil-normal-state-map (kbd "j") 'evil-next-visual-line)
(define-key evil-normal-state-map (kbd "k") 'evil-previous-visual-line)
;;Exit insert mode by pressing j and then k quickly
(setq key-chord-two-keys-delay 0.2)
(key-chord-define evil-insert-state-map "jk" 'evil-normal-state)
(key-chord-mode 1)
;;Compatibility with ace jump mode
(define-key evil-normal-state-map (kbd "SPC") 'ace-jump-mode)
;; This is an endless debate and is just a matter of convention
;; I prefer to stay on the original character when leaving insert mode
;; (initiated with 'i')
(setq evil-move-cursor-back nil)

View File

@ -0,0 +1,4 @@
(require 'expand-region)
(require 'evil)
(key-chord-define evil-visual-state-map "kl" 'er/expand-region)
(key-chord-define evil-visual-state-map "hj" 'er/contract-region)

View File

@ -1,2 +1,61 @@
(global-set-key (kbd "C-c f") 'find-file-in-project)
(require 'find-file-in-project)
;; Use eproject to find project root
(setq ffip-project-root-function 'eproject-root)
;; No need to be stingy
(setq ffip-limit 4096)
;; Helper methods to create local settings
(defun ffip--create-exclude-find-options (names)
(mapconcat (lambda (name)
(concat "-not -regex \".*" name ".*\"")) names " "))
(defun ffip-local-excludes (&rest names)
"Given a set of names, will exclude results with those names in the path.
Example:
(ffip-local-excludes \"target\" \"overlays\")
"
(set (make-local-variable 'ffip-find-options)
(ffip--create-exclude-find-options names)))
(defun ffip-local-patterns (&rest patterns)
"An exhaustive list of file name patterns to look for.
Example:
(ffip-local-patterns \"*.js\" \"*.jsp\" \"*.css\")
"
(set (make-local-variable 'ffip-patterns) patterns))
;; Function to create new functions that look for a specific pattern
(defun ffip-create-pattern-file-finder (&rest patterns)
(lexical-let ((patterns patterns))
(lambda ()
(interactive)
(let ((ffip-patterns patterns))
(find-file-in-project)))))
;; Default excludes - override with ffip-local-excludes
(setq ffip-find-options
(ffip--create-exclude-find-options
'("node_modules"
"target"
"overlays"
"vendor")))
;; key bindings
(global-set-key (kbd "C-x o") 'find-file-in-project)
;; Find file in project, with specific patterns
(global-unset-key (kbd "C-x C-o")) ;; which used to be delete-blank-lines
;; (also bound to C-c C-<return>)
(global-set-key (kbd "C-x C-o cl") (ffip-create-pattern-file-finder "*.clj"))
(global-set-key (kbd "C-x C-o cs") (ffip-create-pattern-file-finder "*.css"))
(global-set-key (kbd "C-x C-o el") (ffip-create-pattern-file-finder "*.el"))
(global-set-key (kbd "C-x C-o ja") (ffip-create-pattern-file-finder "*.java"))
(global-set-key (kbd "C-x C-o jp") (ffip-create-pattern-file-finder "*.jsp"))
(global-set-key (kbd "C-x C-o js") (ffip-create-pattern-file-finder "*.js"))
(global-set-key (kbd "C-x C-o md") (ffip-create-pattern-file-finder "*.md"))
(global-set-key (kbd "C-x C-o or") (ffip-create-pattern-file-finder "*.org"))
(global-set-key (kbd "C-x C-o ph") (ffip-create-pattern-file-finder "*.php"))
(global-set-key (kbd "C-x C-o py") (ffip-create-pattern-file-finder "*.py"))
(global-set-key (kbd "C-x C-o rb") (ffip-create-pattern-file-finder "*.rb"))
(global-set-key (kbd "C-x C-o tx") (ffip-create-pattern-file-finder "*.txt"))
(global-set-key (kbd "C-x C-o vm") (ffip-create-pattern-file-finder "*.vm"))

View File

@ -0,0 +1,2 @@
(key-chord-mode 1)
(setq key-chord-two-keys-delay 0.1)

View File

@ -0,0 +1,26 @@
(require 'magit)
(global-set-key (kbd "C-x m") 'magit-status)
;; C-x C-k to kill file on line
(defun magit-kill-file-on-line ()
"Show file on current magit line and prompt for deletion."
(interactive)
(magit-visit-item)
(delete-current-buffer-file)
(magit-refresh))
(define-key magit-status-mode-map (kbd "C-x C-k") 'magit-kill-file-on-line)
;; full screen magit-status
(defadvice magit-status (around magit-fullscreen activate)
(window-configuration-to-register :magit-fullscreen)
ad-do-it
(delete-other-windows))
(defun magit-quit-session ()
"Restores the previous window configuration and kills the magit buffer"
(interactive)
(kill-buffer)
(jump-to-register :magit-fullscreen))
(define-key magit-status-mode-map (kbd "q") 'magit-quit-session)

View File

@ -0,0 +1,220 @@
(require 'multiple-cursors)
(setq mc/cmds-to-run-for-all (append mc/cmds-to-run-for-all '(
evil-a-back-quote
evil-a-bracket
evil-a-curly
evil-a-double-quote
evil-align-center
evil-align-left
evil-align-right
evil-an-angle
evil-a-paragraph
evil-a-paren
evil-append
evil-append-line
evil-a-sentence
evil-a-single-quote
evil-a-tag
evil-a-word
evil-a-WORD
evil-backward-char
evil-backward-paragraph
evil-backward-section-begin
evil-backward-section-end
evil-backward-sentence
evil-backward-word-begin
evil-backward-WORD-begin
evil-backward-word-end
evil-backward-WORD-end
evil-beginning-of-line
evil-beginning-of-line-or-digit-argument
evil-beginning-of-visual-line
evil-buffer
evil-change
evil-change-line
evil-change-to-initial-state
evil-change-to-previous-state
evil-change-whole-line
evil-close-fold
evil-close-folds
evil-complete-next
evil-complete-next-line
evil-complete-previous
evil-complete-previous-line
evil-copy-chars-from-line
evil-copy-from-above
evil-copy-from-below
evil-delete
evil-delete-backward-char
evil-delete-backward-word
evil-delete-buffer
evil-delete-char
evil-delete-line
evil-delete-whole-line
evil-digit-argument-or-evil-beginning-of-line
evil-downcase
evil-edit
evil-emacs-state
evil-end-of-line
evil-end-of-visual-line
evil-esc
evil-esc-mode
evil-ex
evil-ex-delete-backward-char
evil-execute-in-emacs-state
evil-execute-in-normal-state
evil-execute-macro
evil-ex-global
evil-ex-global-inverted
evil-exit-emacs-state
evil-exit-visual-state
evil-ex-line-number
evil-ex-nohighlight
evil-ex-repeat
evil-ex-repeat-global-substitute
evil-ex-repeat-substitute
evil-ex-repeat-substitute-with-flags
evil-ex-repeat-substitute-with-search
evil-ex-repeat-substitute-with-search-and-flags
evil-ex-run-completion-at-point
evil-ex-search-abort
evil-ex-search-backward
evil-ex-search-exit
evil-ex-search-forward
evil-ex-search-next
evil-ex-search-previous
evil-ex-search-symbol-backward
evil-ex-search-symbol-forward
evil-ex-search-unbounded-symbol-backward
evil-ex-search-unbounded-symbol-forward
evil-ex-set-initial-state
evil-ex-substitute
evil-fill
evil-find-char
evil-find-char-backward
evil-find-char-to
evil-find-char-to-backward
evil-find-file-at-point-with-line
evil-first-non-blank
evil-first-non-blank-of-visual-line
evil-force-normal-state
evil-forward-char
evil-forward-paragraph
evil-forward-section-begin
evil-forward-section-end
evil-forward-sentence
evil-forward-word-begin
evil-forward-WORD-begin
evil-forward-word-end
evil-forward-WORD-end
evil-goto-char
evil-goto-column
evil-goto-definition
evil-goto-first-line
evil-goto-line
evil-goto-mark
evil-goto-mark-line
evil-insert
evil-invert-char
evil-indent
evil-indent-line
evil-inner-angle
evil-inner-back-quote
evil-inner-bracket
evil-inner-curly
evil-inner-double-quote
evil-inner-paragraph
evil-inner-paren
evil-inner-sentence
evil-inner-single-quote
evil-inner-tag
evil-inner-word
evil-inner-WORD
evil-insert
evil-insert-digraph
evil-insert-line
evil-insert-resume
evil-insert-state
evil-invert-case
evil-join
evil-join-whitespace
evil-jump-backward
evil-jump-forward
evil-jump-item
evil-jump-to-tag
evil-last-non-blank
evil-line
evil-local-mode
evil-lookup
evil-mode
evil-motion-state
evil-move-empty-lines
evil-move-to-column
evil-move-word
evil-move-WORD
evil-next-buffer
evil-next-close-brace
evil-next-close-paren
evil-next-line
evil-next-line-1-first-non-blank
evil-next-line-first-non-blank
evil-next-visual-line
evil-normal-state
evil-open-above
evil-open-below
evil-open-fold
evil-open-folds
evil-operator-shortcut-mode
evil-operator-state
evil-paste-after
evil-paste-before
evil-paste-from-register
evil-paste-pop
evil-paste-pop-next
evil-prev-buffer
evil-previous-line
evil-previous-line-first-non-blank
evil-previous-open-brace
evil-previous-open-paren
evil-previous-visual-line
evil-record-macro
evil-repeat
evil-repeat-find-char
evil-repeat-find-char-reverse
evil-repeat-pop
evil-repeat-pop-next
evil-replace
evil-replace-backspace
evil-replace-state
evil-ret
evil-rot13
evil-search-backward
evil-search-forward
evil-search-next
evil-search-previous
evil-search-symbol-backward
evil-search-symbol-forward
evil-set-marker
evil-shell-command
evil-shift-left
evil-shift-right
evil-show-buffers
evil-show-file-info
evil-show-registers
evil-split-buffer
evil-split-next-buffer
evil-split-prev-buffer
evil-substitute
evil-toggle-fold
evil-upcase
evil-use-register
evil-yank
evil-yank-line
)))
;; key bindings
(key-chord-define evil-visual-state-map "ma" 'mc/mark-all-like-this)
(key-chord-define evil-visual-state-map "mn" 'mc/mark-next-like-this)
(key-chord-define evil-visual-state-map "mp" 'mc/mark-previous-lines)
(key-chord-define evil-visual-state-map "ml" 'mc/edit-lines)

View File

View File

@ -0,0 +1,3 @@
;; Webjump let's you quickly search google, wikipedia, emacs wiki
(global-set-key (kbd "C-x g") 'webjump)
(global-set-key (kbd "C-x M-g") 'browse-url-at-point)

View File

@ -1,6 +1,5 @@
;; Key Bindings ================================================================
(global-set-key (kbd "C-x x") 'kill-this-buffer)
(add-hook 'python-mode-hook (lambda ()
(local-set-key "\C-c\C-c" 'syl-python-compile)))
;; Windows switching
(global-set-key (kbd "C-x -") 'rotate-windows)
(global-set-key (kbd "C-x C--") 'toggle-maximize-buffer)
(provide 'keybindings)

View File

@ -14,8 +14,10 @@
deferred
diminish
epc
eproject
erlang
evil
expand-region
fill-column-indicator
find-file-in-project
fuzzy
@ -25,15 +27,18 @@
jedi
key-chord
magit
multiple-cursors
p4
paredit
powerline
popup
puppet-mode
rainbow-delimiters
smart-operator
smex
solarized-theme
surround
webjump
yasnippet
))