From ebb9f75bfa93db113ea6deb90c28e77ebdb8064b Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 28 Oct 2015 17:28:41 -0400 Subject: [PATCH] Add narf/evil-macro-on-all-lines + refactor bindings --- core/lib/defuns-evil.el | 13 +++++++++++++ private/my-bindings.el | 26 +++++++++++++++----------- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/core/lib/defuns-evil.el b/core/lib/defuns-evil.el index ad153648e..51b775b7b 100644 --- a/core/lib/defuns-evil.el +++ b/core/lib/defuns-evil.el @@ -62,5 +62,18 @@ (cons (format format (car pair)) (format format (cdr pair))))) +;;;###autoload (autoload 'narf/evil-macro-on-all-lines "defuns-evil" nil t) +(evil-define-operator narf/evil-macro-on-all-lines (beg end &optional arg) + "Apply macro to each line. Courtesy of PythonNut/emacs-config" + (evil-with-state + (evil-normal-state) + (goto-char end) + (evil-visual-state) + (goto-char beg) + (evil-ex-normal (region-beginning) (region-end) + (concat "@" + (single-key-description + (read-char "What macro?")))))) + (provide 'defuns-evil) ;;; defuns-evil.el ends here diff --git a/private/my-bindings.el b/private/my-bindings.el index aaebec3d1..b6e583978 100644 --- a/private/my-bindings.el +++ b/private/my-bindings.el @@ -12,9 +12,9 @@ ;; Global keymaps ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + "A-x" 'execute-extended-command "M-x" 'smex "M-X" 'smex-major-mode-commands - "M-:" 'helm-M-x "M-;" 'eval-expression "M-=" 'text-scale-increase "M--" 'text-scale-decrease @@ -52,7 +52,7 @@ (:when IS-MAC ;; Textmate-esque indent shift left/right - :i "M-[" "C-o m l C-o I DEL C-o ` l" + :i "M-[" (kbd "C-o m l C-o I DEL C-o ` l") :i "M-]" (λ (evil-shift-right (point-at-bol) (point-at-eol))) "" 'backward-word @@ -112,12 +112,11 @@ ;; (:prefix "\\" - :n "\\" 'narf-switch-to-iterm - :n "|" 'narf/neotree-toggle - :n "." 'narf/neotree-find - :n ";" 'narf/nlinum-toggle - :n "-" 'toggle-transparency - :n "E" 'evil-emacs-state + :nv "\\" 'narf-switch-to-iterm + :nv "|" 'narf/neotree-toggle + :nv "." 'narf/neotree-find + :nv ";" 'narf/nlinum-toggle + :nv "E" 'evil-emacs-state :n "]" 'next-buffer :n "[" 'previous-buffer @@ -157,6 +156,7 @@ ;; Increment/decrement number under cursor :n "g=" 'evil-numbers/inc-at-pt :n "g-" 'evil-numbers/dec-at-pt + :n "gR" 'narf:eval-buffer :n "gc" 'evil-commentary :n "gy" 'evil-commentary-yank @@ -166,6 +166,7 @@ :m "gl" 'avy-goto-line :m "g]" 'smart-down :m "g[" 'smart-up + :no "g@" 'narf/evil-macro-on-all-lines :v "." 'evil-repeat @@ -196,9 +197,12 @@ ;; aliases for % :m "%" 'evilmi-jump-items - :m [tab] (λ (if (ignore-errors (hs-already-hidden-p)) - (hs-toggle-hiding) - (call-interactively 'evilmi-jump-items))) + :m [tab] (λ (cond ((eq major-mode 'org-mode) + (org-cycle)) + (t + (if (ignore-errors (hs-already-hidden-p)) + (hs-toggle-hiding) + (call-interactively 'evilmi-jump-items))))) ;; Restore osx text objects :i "" 'evil-delete-backward-word