From e4c8cef41265721af9ef67db00345a76256d1cd2 Mon Sep 17 00:00:00 2001 From: Matt Kramer Date: Wed, 10 Oct 2018 16:49:32 -0700 Subject: [PATCH] Add toggle visual-line-navigation-globally --- CHANGELOG.develop | 2 ++ layers/+spacemacs/spacemacs-defaults/funcs.el | 4 ++++ .../spacemacs-defaults/keybindings.el | 22 ++++++++++++------- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.develop b/CHANGELOG.develop index 4f545c27f..9df4d26d9 100644 --- a/CHANGELOG.develop +++ b/CHANGELOG.develop @@ -841,6 +841,8 @@ Other: - Added workspaces transient state key bindings (thanks to duianto): - ~SPC l w s~ =spacemacs/single-win-workspace= (exits the TS) - ~SPC l w S~ =spacemacs/single-win-workspace= + - Added ~SPC t C-S-l~ =spacemacs/toggle-visual-line-navigation-globally= + (thanks to Matt Kramer) - Improvements: - Rewrote window layout functions for ~SPC w 1~, ~SPC w 2~, ~SPC w 3~, and ~SPC w 4~ (thanks to Codruț Constantin Gușoi): diff --git a/layers/+spacemacs/spacemacs-defaults/funcs.el b/layers/+spacemacs/spacemacs-defaults/funcs.el index 175911104..9066a0926 100644 --- a/layers/+spacemacs/spacemacs-defaults/funcs.el +++ b/layers/+spacemacs/spacemacs-defaults/funcs.el @@ -535,6 +535,10 @@ a dedicated window." (if dedicated "no longer " "") (buffer-name)))) +(defun spacemacs//init-visual-line-keys () + (evil-define-minor-mode-key 'motion 'visual-line-mode "j" 'evil-next-visual-line) + (evil-define-minor-mode-key 'motion 'visual-line-mode "k" 'evil-previous-visual-line)) + ;; Copy file path diff --git a/layers/+spacemacs/spacemacs-defaults/keybindings.el b/layers/+spacemacs/spacemacs-defaults/keybindings.el index 20977da57..09b4cb8cf 100644 --- a/layers/+spacemacs/spacemacs-defaults/keybindings.el +++ b/layers/+spacemacs/spacemacs-defaults/keybindings.el @@ -340,14 +340,7 @@ :on (progn (visual-line-mode) - (evil-define-minor-mode-key 'motion 'visual-line-mode "j" 'evil-next-visual-line) - (evil-define-minor-mode-key 'motion 'visual-line-mode "k" 'evil-previous-visual-line) - (when (bound-and-true-p evil-escape-mode) - (evil-escape-mode -1) - (setq evil-escape-motion-state-shadowed-func nil) - (evil-define-minor-mode-key 'motion 'visual-line-mode "j" 'evil-next-visual-line) - (evil-define-minor-mode-key 'motion 'visual-line-mode "k" 'evil-previous-visual-line) - (evil-escape-mode)) + (spacemacs//init-visual-line-keys) (evil-normalize-keymaps)) :off (progn @@ -355,6 +348,19 @@ (evil-normalize-keymaps)) :documentation "Move point according to visual lines." :evil-leader "tL") +(spacemacs|add-toggle visual-line-navigation-globally + :status global-visual-line-mode + :on + (progn + (global-visual-line-mode) + (spacemacs//init-visual-line-keys) + (evil-normalize-keymaps)) + :off + (progn + (global-visual-line-mode -1) + (evil-normalize-keymaps)) + :documentation "Move point according to visual lines globally." + :evil-leader "t C-S-l") (spacemacs|add-toggle auto-fill-mode :status auto-fill-function :on (auto-fill-mode)