summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Neidhardt <ambrevar@gmail.com>2018-02-22 17:11:17 +0100
committerPierre Neidhardt <ambrevar@gmail.com>2018-02-22 18:25:35 +0100
commit2c539dbccada9a47d41f13b0b020081576c2ced3 (patch)
tree874303c94cf591ed88a43be70060ad18f746ce02
parentb90872547f875160113518ee600a83a0fc583ff5 (diff)
Add -inhibit-insert-state helper function
-rw-r--r--evil-collection.el29
1 files changed, 29 insertions, 0 deletions
diff --git a/evil-collection.el b/evil-collection.el
index bfa8523..bd58693 100644
--- a/evil-collection.el
+++ b/evil-collection.el
@@ -183,5 +183,34 @@ instance:
lispyville-delete)
"List of delete operators.")
+(defun evil-collection-inhibit-insert-state (map)
+ "Unmap insertion keys from normal state.
+This is particularly useful for read-only modes."
+ (evil-define-key*
+ 'normal map
+ [remap evil-append] #'ignore
+ [remap evil-append-line] #'ignore
+ [remap evil-insert] #'ignore
+ [remap evil-insert-line] #'ignore
+ [remap evil-change] #'ignore
+ [remap evil-change-line] #'ignore
+ [remap evil-substitute] #'ignore
+ [remap evil-change-whole-line] #'ignore
+ [remap evil-delete] #'ignore
+ [remap evil-delete-line] #'ignore
+ [remap evil-delete-char] #'ignore
+ [remap evil-delete-backward-char] #'ignore
+ [remap evil-replace] #'ignore
+ [remap evil-replace-state] #'ignore
+ [remap evil-open-below] #'ignore
+ [remap evil-open-above] #'ignore
+ [remap evil-paste-after] #'ignore
+ [remap evil-paste-before] #'ignore
+ [remap evil-join] #'ignore
+ [remap evil-indent] #'ignore
+ [remap evil-shift-left] #'ignore
+ [remap evil-shift-right] #'ignore
+ [remap evil-invert-char] #'ignore))
+
(provide 'evil-collection)
;;; evil-collection.el ends here