From fb57f367e7a31f3af4984127bc1c0a485873f52e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 1 Mar 2019 15:32:47 -0500 Subject: [PATCH] Enable delete-selection-mode & shift-select-mode This makes text insertion behave more like traditional editors. Delete-selection-mode allows selections to be replaced when yanking or inserting. This enables it by default for non-evil users and in insert mode for evil users. Also enables selecting text with shift. --- modules/config/default/config.el | 7 +++++++ modules/feature/evil/config.el | 2 -- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/config/default/config.el b/modules/config/default/config.el index 1fcfe7c4d..7ff96bccd 100644 --- a/modules/config/default/config.el +++ b/modules/config/default/config.el @@ -27,6 +27,13 @@ epa-pinentry-mode 'loopback)) +(if (not (featurep 'evil)) + (delete-selection-mode +1) + (defun turn-off-delete-selection-mode () (delete-selection-mode -1)) + (add-hook 'evil-insert-state-entry-hook #'delete-selection-mode) + (add-hook 'evil-insert-state-exit-hook #'turn-off-delete-selection-mode)) + + (when (featurep! +smartparens) ;; You can disable :unless predicates with (sp-pair "'" nil :unless nil) ;; And disable :post-handlers with (sp-pair "{" nil :post-handlers nil) diff --git a/modules/feature/evil/config.el b/modules/feature/evil/config.el index b5b3097b7..33a6c8820 100644 --- a/modules/feature/evil/config.el +++ b/modules/feature/evil/config.el @@ -27,8 +27,6 @@ line with a linewise comment.") evil-respect-visual-line-mode t ;; more vim-like behavior evil-symbol-word-search t - ;; don't activate mark on shift-click - shift-select-mode nil ;; cursor appearance evil-default-cursor '+evil-default-cursor evil-normal-state-cursor 'box