summaryrefslogtreecommitdiff
path: root/conf/ev.el
blob: 406ecc5d05080344a48db37b7e9ea653838b6476 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
;; ev.org - evil mode configuration

;; evil mode uses undo-tree
(require 'undo-tree)

(require 'evil)
(evil-mode 1)
;; much of this it taken from http://permalink.gmane.org/gmane.emacs.vim-emulation/1135

;; red box in emacs mode
(setq evil-emacs-state-cursor '("red" box))

(define-key evil-motion-state-map "H" 'evil-scroll-up)
(define-key evil-motion-state-map "L" 'evil-scroll-down)

(defun save-and-kill-buffer ()
  "Save current buffer and then kill it"
  (interactive)
  (save-buffer)
  (kill-this-buffer)
  )

(defun my-back-one-window ()
  "Go back one windo"
  (interactive)
  (other-window -1))

(define-key evil-normal-state-map ",w" 'save-buffer)
(define-key evil-normal-state-map "Q" 'fill-paragraph)
(define-key evil-normal-state-map ",b" 'ido-switch-buffer)
(define-key evil-normal-state-map ",d" 'save-and-kill-buffer)
(define-key evil-visual-state-map ",c" 'comment-or-uncomment-region)

(define-key evil-normal-state-map ",j" 'other-window)
(define-key evil-normal-state-map ",k" 'my-back-one-window)
(define-key evil-normal-state-map ",q" 'kill-buffer)
(define-key evil-normal-state-map ",a" 'org-archive-subtree)

(fset 'comment-this-line ;; this depends on evil bindings
      "0v$,c")
(define-key evil-normal-state-map ",c" 'comment-this-line)

(require 'key-chord)
(key-chord-mode 1)

(key-chord-define-global "jf" 'evil-normal-state)
(key-chord-define-global ",r" 'recentf-ido-find-file)
(key-chord-define-global ",t" 'org-capture)
(key-chord-define-global ",e" 'org-export-as-pdf)
;; instead of alt-x
(key-chord-define-global ",x" 'execute-extended-command)
(key-chord-define-global ",f" 'find-file)
(key-chord-define-global ",g" 'indent-relative)