branch: elpa/evil-nerd-commenter
commit 11998038f32ab98984541da62af2c91cee2649e2
Author: Chen Bin <[email protected]>
Commit: Chen Bin <[email protected]>
default key bindings can define key bindings in non-evil mode
---
README.org | 6 ++----
evil-nerd-commenter.el | 40 +++++++++++++++++++++-------------------
2 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/README.org b/README.org
index 0fc839a7e7..b795ba2119 100644
--- a/README.org
+++ b/README.org
@@ -31,11 +31,9 @@ evil-nerd-commenter is already uploaded to
[[http://melpa.org]]. The best way to
* Setup
Please note NO key bindings are setup automatically. You need use following
ways to setup key bindings.
** Use recommended key bindings
-Insert one line into =~/.emacs=,
-#+BEGIN_SRC lisp
-(evilnc-default-hotkeys)
-#+END_SRC
+Insert =(evilnc-default-hotkeys)= into =~/.emacs= to use key bindings preset
for both evil and non-evil mode. This is recommended way.
+Use =(evilnc-default-hotkeys t)= to use key binding only for non-evil mode if
you want to define key bindings in evil-mode by yourself.
** Use evil-leader instead
Install [[https://github.com/cofi/evil-leader][evil-leader according to its
README]].
diff --git a/evil-nerd-commenter.el b/evil-nerd-commenter.el
index 8ba0eaf6c7..b208b6c72c 100644
--- a/evil-nerd-commenter.el
+++ b/evil-nerd-commenter.el
@@ -656,8 +656,9 @@ Then we operate the expanded region. NUM is ignored."
(message "2.3.2"))
;;;###autoload
-(defun evilnc-default-hotkeys ()
- "Set the hotkeys of evil-nerd-comment."
+(defun evilnc-default-hotkeys (&optional no-evil-keybindings)
+ "Set up the key bindings of evil-nerd-comment.
+If NO-EVIL-KEYBINDINGS is t, we don't define keybindings in evil-mode."
(interactive)
;; Install hotkeys for Emacs mode
@@ -667,23 +668,24 @@ Then we operate the expanded region. NUM is ignored."
(global-set-key (kbd "C-c p") 'evilnc-comment-or-uncomment-paragraphs)
;; Install key bindings for evil
- (eval-after-load 'evil
- '(progn
- (define-key evil-normal-state-map ",ci"
'evilnc-comment-or-uncomment-lines)
- (define-key evil-normal-state-map ",cl"
'evilnc-quick-comment-or-uncomment-to-the-line)
- (define-key evil-normal-state-map ",ll"
'evilnc-quick-comment-or-uncomment-to-the-line)
- (define-key evil-normal-state-map ",cc" 'evilnc-copy-and-comment-lines)
- (define-key evil-normal-state-map ",cp"
'evilnc-comment-or-uncomment-paragraphs)
- (define-key evil-normal-state-map ",cr" 'comment-or-uncomment-region)
- (define-key evil-normal-state-map ",cv"
'evilnc-toggle-invert-comment-line-by-line)))
-
- ;; Install operator for evil text objects
- (eval-after-load 'evil-nerd-commenter-operator
- '(progn
- (define-key evil-normal-state-map ",."
'evilnc-copy-and-comment-operator)
- (define-key evil-visual-state-map ",."
'evilnc-copy-and-comment-operator)
- (define-key evil-normal-state-map ",," 'evilnc-comment-operator)
- (define-key evil-visual-state-map ",," 'evilnc-comment-operator))))
+ (unless no-evil-keybindings
+ (eval-after-load 'evil
+ '(progn
+ (define-key evil-normal-state-map ",ci"
'evilnc-comment-or-uncomment-lines)
+ (define-key evil-normal-state-map ",cl"
'evilnc-quick-comment-or-uncomment-to-the-line)
+ (define-key evil-normal-state-map ",ll"
'evilnc-quick-comment-or-uncomment-to-the-line)
+ (define-key evil-normal-state-map ",cc"
'evilnc-copy-and-comment-lines)
+ (define-key evil-normal-state-map ",cp"
'evilnc-comment-or-uncomment-paragraphs)
+ (define-key evil-normal-state-map ",cr" 'comment-or-uncomment-region)
+ (define-key evil-normal-state-map ",cv"
'evilnc-toggle-invert-comment-line-by-line)))
+
+ ;; Install operator for evil text objects
+ (eval-after-load 'evil-nerd-commenter-operator
+ '(progn
+ (define-key evil-normal-state-map ",."
'evilnc-copy-and-comment-operator)
+ (define-key evil-visual-state-map ",."
'evilnc-copy-and-comment-operator)
+ (define-key evil-normal-state-map ",," 'evilnc-comment-operator)
+ (define-key evil-visual-state-map ",," 'evilnc-comment-operator)))))
;; Attempt to define the operator on first load.
;; Will only work if evil has been loaded