summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Guschin <guschin@altlinux.org>2024-08-02 15:01:26 +0400
committerAndrew Guschin <guschin@altlinux.org>2024-08-02 15:01:26 +0400
commit84606d5ac6917ff3d8a1858aa5412f6aabee5a3f (patch)
treeca9b8cc67422d4b53d430069f8d3cad7beaa54c6
parent5572a0dd3a2748ea47d54012e7d5bf5881a35b03 (diff)
wip: disable evil mode in some major modes
-rw-r--r--.gitignore1
-rw-r--r--config.org17
2 files changed, 14 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index 3099890..651fcd0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
.*
!.gitignore
+\#*
elpa
auto-save-list
backup
diff --git a/config.org b/config.org
index a082f48..5dbd819 100644
--- a/config.org
+++ b/config.org
@@ -78,14 +78,23 @@ Emacs is great operating system that doesn't have good editor.
It is useful to enable relative numbering of lines in normal state, for easier use of motions. But
in insert mode it is not so useful, so this turns on regular numbering for this mode.
+
+But in some major modes evil shadows their keymaps, so I set their initial state to emacs's keymaps.
#+BEGIN_SRC emacs-lisp
(use-package evil
+ :config
+ (evil-mode t)
+ (evil-set-initial-state 'fundamental-mode 'emacs)
+ (evil-set-initial-state 'dired-mode 'emacs)
+ (evil-set-initial-state 'eshell-mode 'emacs)
+ (evil-set-initial-state 'shell-mode 'emacs)
+ (evil-set-initial-state 'buffer-menu-mode 'emacs)
:hook
- (evil-insert-state-entry . (lambda () (setq display-line-numbers t)))
+ (evil-insert-state-entry . (lambda () (setq-local display-line-numbers t)))
:hook
- (evil-normal-state-entry . (lambda () (setq display-line-numbers 'relative)))
- :config
- (evil-mode 1))
+ (evil-normal-state-entry . (lambda () (setq-local display-line-numbers 'relative))))
+
+ (global-display-line-numbers-mode -1)
(add-hook 'prog-mode-hook
(lambda () (display-line-numbers-mode t)))
#+END_SRC