Evil mode IJKL/visual line fine tuning

This commit is contained in:
Kashish Sharma 2015-03-24 03:01:13 +05:30
parent f1c681b3cb
commit caab3e62c8
1 changed files with 18 additions and 10 deletions

28
init.el
View File

@ -132,24 +132,24 @@
;(global-set-key (kbd "g C-g") 'count-words-region)
; The story so far - in evil-normal-state-map, I set 'i' to evil-previous-visual-line, 'k' to evil-next-visual-line, 'j' to evil-backward-char. Note that I forgot to set 'h' to insert at first...but that's not all - later I realized this didn't affect Visual mode :p 4 more lines for that. Next...d/c didn't work with ijkl. 4 more lines for evil-operator-state-map. After that - you usually want visual-line up/down movement, but _not_ when you hit d-j/k (or d-i/k)! So, in evil-operator-state-map, i and k are now vanilla evil-previous/next-line. Set gi/gk to evil-previous/next-line in normal and visual states, and to evil-previous/next-visual-line in operator state - 2 new lines to each group of 4.
(define-key evil-normal-state-map "i" 'evil-previous-visual-line)
(define-key evil-normal-state-map "k" 'evil-next-visual-line)
(define-key evil-normal-state-map "gi" 'evil-previous-line)
(define-key evil-normal-state-map "gk" 'evil-next-line)
(define-key evil-normal-state-map "gi" 'evil-previous-visual-line)
(define-key evil-normal-state-map "gk" 'evil-next-visual-line)
(define-key evil-normal-state-map "i" 'evil-previous-line)
(define-key evil-normal-state-map "k" 'evil-next-line)
(define-key evil-normal-state-map "j" 'evil-backward-char)
(define-key evil-normal-state-map "h" 'evil-insert)
(define-key evil-visual-state-map "i" 'evil-previous-visual-line)
(define-key evil-visual-state-map "k" 'evil-next-visual-line)
(define-key evil-visual-state-map "gi" 'evil-previous-line)
(define-key evil-visual-state-map "gk" 'evil-next-line)
(define-key evil-visual-state-map "gi" 'evil-previous-visual-line)
(define-key evil-visual-state-map "gk" 'evil-next-visual-line)
(define-key evil-visual-state-map "i" 'evil-previous-line)
(define-key evil-visual-state-map "k" 'evil-next-line)
(define-key evil-visual-state-map "j" 'evil-backward-char)
(define-key evil-visual-state-map "h" 'evil-insert)
(define-key evil-operator-state-map "i" 'evil-previous-line)
(define-key evil-operator-state-map "k" 'evil-next-line)
(define-key evil-operator-state-map "gi" 'evil-previous-visual-line)
(define-key evil-operator-state-map "gk" 'evil-next-visual-line)
(define-key evil-operator-state-map "i" 'evil-previous-line)
(define-key evil-operator-state-map "k" 'evil-next-line)
(define-key evil-operator-state-map "j" 'evil-backward-char)
;(define-key evil-operator-state-map "h" 'evil-insert)
; evil-inner-tag ?
@ -170,6 +170,14 @@
(define-key evil-operator-state-map "h\"" 'evil-inner-double-quote)
(define-key evil-operator-state-map "h'" 'evil-inner-single-quote)
(define-key evil-motion-state-map "gi" 'evil-previous-visual-line)
(define-key evil-motion-state-map "gk" 'evil-next-visual-line)
;;;; set C-h to backspace when editing commands and searching
(defun kill-start-of-line () "Kill from point to start of line."
(interactive)
(kill-line 0))
(define-key evil-insert-state-map (kbd "C-u") 'kill-start-of-line)
;;;; Ace Jump mode
;(require 'ace-jump-mode)
;(define-key global-map (kbd "C-c SPC") 'ace-jump-mode)