;; Basic evil-mode and org-mode config to get started | |
;; Include this in your Emacs config file (ie ~/.emacs.d/init.el or ~/.emacs) | |
(require 'evil) | |
;; Enable Evil mode as defuault | |
(evil-mode 1) | |
;; Treat wrapped line scrolling as single lines | |
(define-key evil-normal-state-map (kbd "j") 'evil-next-visual-line) | |
(define-key evil-normal-state-map (kbd "k") 'evil-previous-visual-line) | |
;;; esc quits pretty much anything (like pending prompts in the minibuffer) | |
(define-key evil-normal-state-map [escape] 'keyboard-quit) | |
(define-key evil-visual-state-map [escape] 'keyboard-quit) | |
(define-key minibuffer-local-map [escape] 'minibuffer-keyboard-quit) | |
(define-key minibuffer-local-ns-map [escape] 'minibuffer-keyboard-quit) | |
(define-key minibuffer-local-completion-map [escape] 'minibuffer-keyboard-quit) | |
(define-key minibuffer-local-must-match-map [escape] 'minibuffer-keyboard-quit) | |
(define-key minibuffer-local-isearch-map [escape] 'minibuffer-keyboard-quit) | |
;; Enable smash escape (ie 'jk' and 'kj' quickly to exit insert mode) | |
(define-key evil-insert-state-map "k" #'cofi/maybe-exit-kj) | |
(evil-define-command cofi/maybe-exit-kj () | |
:repeat change | |
(interactive) | |
(let ((modified (buffer-modified-p))) | |
(insert "k") | |
(let ((evt (read-event (format "Insert %c to exit insert state" ?j) | |
nil 0.5))) | |
(cond | |
((null evt) (message "")) | |
((and (integerp evt) (char-equal evt ?j)) | |
(delete-char -1) | |
(set-buffer-modified-p modified) | |
(push 'escape unread-command-events)) | |
(t (setq unread-command-events (append unread-command-events | |
(list evt)))))))) | |
(define-key evil-insert-state-map "j" #'cofi/maybe-exit-jk) | |
(evil-define-command cofi/maybe-exit-jk () | |
:repeat change | |
(interactive) | |
(let ((modified (buffer-modified-p))) | |
(insert "j") | |
(let ((evt (read-event (format "Insert %c to exit insert state" ?k) | |
nil 0.5))) | |
(cond | |
((null evt) (message "")) | |
((and (integerp evt) (char-equal evt ?k)) | |
(delete-char -1) | |
(set-buffer-modified-p modified) | |
(push 'escape unread-command-events)) | |
(t (setq unread-command-events (append unread-command-events | |
(list evt)))))))) | |
;; ORG MODE | |
;; auto-indent an org-mode file | |
(add-hook 'org-mode-hook | |
(lambda() | |
(local-set-key (kbd "C-c C-c") 'org-table-align) | |
(local-set-key (kbd "C-c C-f") 'org-table-calc-current-TBLFM) | |
(org-indent-mode t))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment