From e39b3495bd24dc0554fbf58efe076d800c83aa27 Mon Sep 17 00:00:00 2001 From: syl20bnr Date: Fri, 8 Jun 2018 01:14:06 -0400 Subject: [PATCH] Add vim-style-visual-feedback variable and documentation --- doc/DOCUMENTATION.org | 19 +++++++++++++++++++ layers/+spacemacs/spacemacs-evil/config.el | 3 +++ layers/+spacemacs/spacemacs-evil/packages.el | 8 +++++--- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/doc/DOCUMENTATION.org b/doc/DOCUMENTATION.org index 956162248..e35ce72ae 100644 --- a/doc/DOCUMENTATION.org +++ b/doc/DOCUMENTATION.org @@ -737,6 +737,10 @@ Three styles are available: - Emacs, - Hybrid (a mix between Vim and Emacs). +To set the editing style set the variable =dotspacemacs-editing-style= to +either =vim=, =hybrid=, or =emacs=. It possible to pass a list of variables +as well with the keyword =:variables=, just like for layer variables. + *** Vim Spacemacs behaves like in Vim using the [[https://github.com/emacs-evil/evil/][Evil]] mode package to emulate Vim key bindings. This is the default style of Spacemacs; it can be set explicitly by @@ -748,6 +752,21 @@ To bind keys in Vim editing style (=insert state=): (define-key evil-insert-state-map (kbd "C-]") 'forward-char) #+END_SRC +When setting the Vim style you can pass any variable supported by =evil-mode= +with the keyword =:variables=. Spacemacs also supports the followgin editing +style variables for Vim: + +| Variable | Description | +|-----------------------------+---------------------------------------------| +| =vim-style-visual-feedback= | If non-nil then brief highlights on objects | + +Default configuration is: + +#+BEGIN_SRC emacs-lisp +(setq-default dotspacemacs-editing-style '(vim :variables + vim-style-visual-feedback t) +#+END_SRC + *** Emacs Spacemacs behaves like in raw Emacs using the Holy mode which configures Evil to make the =emacs state= the default state everywhere. diff --git a/layers/+spacemacs/spacemacs-evil/config.el b/layers/+spacemacs/spacemacs-evil/config.el index d4d3b2a10..dd7f6f869 100644 --- a/layers/+spacemacs/spacemacs-evil/config.el +++ b/layers/+spacemacs/spacemacs-evil/config.el @@ -10,5 +10,8 @@ ;;; License: GPLv3 +(defvar vim-style-visual-feedback t + "If non-nil objects are briefly highlighted performing an action.") + (defvar evil-lisp-safe-structural-editing-modes '() "A list of major mode symbols where safe structural editing is supported.") diff --git a/layers/+spacemacs/spacemacs-evil/packages.el b/layers/+spacemacs/spacemacs-evil/packages.el index daf121650..8005f6866 100644 --- a/layers/+spacemacs/spacemacs-evil/packages.el +++ b/layers/+spacemacs/spacemacs-evil/packages.el @@ -115,9 +115,11 @@ ;; disable pulses as it is more distracting than useful and ;; less readable. (setq evil-goggles-pulse nil - evil-goggles-async-duration 0.2 - evil-goggles-blocking-duration 0.12) - (evil-goggles-mode)) + evil-goggles-async-duration 0.1 + evil-goggles-blocking-duration 0.05) + (if vim-style-visual-feedback + (evil-goggles-mode) + (evil-googles-mode -1))) :config (spacemacs|hide-lighter evil-goggles-mode)))