branch: elpa/evil-lisp-state
commit 8a3cffa60b06866f57a3987c5ca9e865605cb04e
Author: syl20bnr <[email protected]>
Commit: syl20bnr <[email protected]>
Add 0 and $ key bindings
---
README.md | 2 ++
evil-lisp-state.el | 10 ++++++++++
2 files changed, 12 insertions(+)
diff --git a/README.md b/README.md
index 3ff0d507f5..680d3eb8b4 100644
--- a/README.md
+++ b/README.md
@@ -65,6 +65,8 @@ Key Binding | Function
<kbd>\<leader\> m :</kbd> | ex command
<kbd>\<leader\> m (</kbd> | insert expression before (same level as current
one)
<kbd>\<leader\> m )</kbd> | insert expression after (same level as current
one)
+<kbd>\<leader\> m $</kbd> | go to the end of current sexp
+<kbd>\<leader\> m 0</kbd> | go to the beginning of current sexp
<kbd>\<leader\> m a</kbd> | absorb expression
<kbd>\<leader\> m b</kbd> | forward barf expression
<kbd>\<leader\> m B</kbd> | backward barf expression
diff --git a/evil-lisp-state.el b/evil-lisp-state.el
index 886220f00e..a794adfb7c 100644
--- a/evil-lisp-state.el
+++ b/evil-lisp-state.el
@@ -50,6 +50,8 @@
;; `leader m :' | ex command
;; `leader m (' | insert expression before (same level as current one)
;; `leader m )' | insert expression after (same level as current one)
+;; `leader m $' | go to the end of current sexp
+;; `leader m 0' | go to the beginning of current sexp
;; `leader m a' | absorb expression
;; `leader m b' | forward barf expression
;; `leader m B' | backward barf expression
@@ -173,6 +175,8 @@
(":" . evil-ex)
("(" . lisp-state-insert-sexp-before)
(")" . lisp-state-insert-sexp-after)
+ ("$" . sp-end-of-sexp)
+ ("0" . lisp-state-beginning-of-sexp)
("1" . digit-argument)
("2" . digit-argument)
("3" . digit-argument)
@@ -308,6 +312,12 @@
(end-of-line)
(eval-last-sexp nil)))
+(defun lisp-state-beginning-of-sexp (&optional arg)
+ "Go to the beginning of current s-exp"
+ (interactive "P")
+ (sp-beginning-of-sexp)
+ (evil-backward-char))
+
(provide 'evil-lisp-state)