diff options
| author | Amin Bandali <aminb@gnu.org> | 2018-06-24 13:48:25 -0400 | 
|---|---|---|
| committer | Amin Bandali <aminb@gnu.org> | 2018-06-24 13:48:25 -0400 | 
| commit | 3ea5e792dcaadc84a2b932f7c04d4de264a30553 (patch) | |
| tree | 8e9cdb62926831a1525b1b324cf292e6cb1ecfe5 | |
| parent | b5208764640a0cf89b4569efda90eead8499107f (diff) | |
| download | configs-3ea5e792dcaadc84a2b932f7c04d4de264a30553.tar.gz configs-3ea5e792dcaadc84a2b932f7c04d4de264a30553.tar.xz configs-3ea5e792dcaadc84a2b932f7c04d4de264a30553.zip  | |
[emacs] add evil{,-escape} and general and some keybindings
Diffstat (limited to '')
| -rw-r--r-- | .gitmodules | 9 | ||||
| -rw-r--r-- | init.org | 75 | ||||
| m--------- | lib/evil | 0 | ||||
| m--------- | lib/evil-escape | 0 | ||||
| m--------- | lib/general | 0 | 
5 files changed, 83 insertions, 1 deletions
diff --git a/.gitmodules b/.gitmodules index 5c2d05f..28eced6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -40,6 +40,12 @@  [submodule "epl"]  	path = lib/epl  	url = git@github.com:cask/epl.git +[submodule "evil"] +	path = lib/evil +	url = git@github.com:emacs-evil/evil.git +[submodule "evil-escape"] +	path = lib/evil-escape +	url = git@github.com:syl20bnr/evil-escape.git  [submodule "exec-path-from-shell"]  	path = lib/exec-path-from-shell  	url = git@github.com:purcell/exec-path-from-shell.git @@ -55,6 +61,9 @@  [submodule "flycheck-haskell"]  	path = lib/flycheck-haskell  	url = git@github.com:flycheck/flycheck-haskell.git +[submodule "general"] +	path = lib/general +	url = git@github.com:noctuid/general.el.git  [submodule "ghub"]  	path = lib/ghub  	url = git@github.com:magit/ghub.git @@ -582,12 +582,61 @@ customizing it.              'auto-compile-inhibit-compile-detached-git-head))  #+end_src -*** TODO [[https://github.com/Kungsgeten/ryo-modal][ryo-modal]] +*** [[https://github.com/noctuid/general.el][general]]  #+begin_quote  Roll your own modal mode  #+end_quote +#+begin_src emacs-lisp +(use-package general +  :demand t +  :config +  (general-evil-setup t) + +  (general-override-mode) + +  (general-create-definer +    ab--mode-leader-keys +    :keymaps 'override +    :states '(emacs normal visual motion insert) +    :non-normal-prefix "C-," +    :prefix ",") + +  (general-create-definer +    ab--leader-keys +    :keymaps 'override +    :states '(emacs normal visual motion insert) +    :non-normal-prefix "M-m" +    :prefix "SPC")) +#+end_src + +*** evil + +#+begin_src emacs-lisp +(use-package evil +  :demand t +  :hook (view-mode . evil-motion-state) +  :config (evil-mode 1)) +#+end_src + +#+begin_src emacs-lisp +(use-package evil-escape +  :demand t +  :init +  (setq evil-escape-excluded-states '(normal visual multiedit emacs motion) +        evil-escape-excluded-major-modes '(neotree-mode) +        evil-escape-key-sequence "jk" +        evil-escape-delay 0.25) +  :general +  (:states '(insert replace visual operator) +    "C-g" #'evil-escape) +  :config +  (evil-escape-mode 1) +  ;; no `evil-escape' in minibuffer +  (push #'minibufferp evil-escape-inhibit-functions)) +#+end_src +  *** [[https://github.com/ch11ng/exwm][EXWM]] (window manager)  #+begin_src emacs-lisp :tangle no @@ -828,6 +877,7 @@ In short, my favourite way of life.  (setq org-src-tab-acts-natively t        org-src-preserve-indentation nil        org-edit-src-content-indentation 0) +(add-hook 'org-mode-hook 'org-indent-mode)  #+end_src  *** [[https://magit.vc/][Magit]] @@ -840,6 +890,7 @@ Not just how I do git, but /the/ way to do git.  #+begin_src emacs-lisp  (use-package magit +  :general (ab--leader-keys "g s" 'magit-status)    :defer t    :bind (("s-g"     . magit-status)  	 ("C-x g"   . magit-status) @@ -864,6 +915,7 @@ There's no way I could top that, so I won't attempt to.  #+begin_src emacs-lisp  (use-package ivy +  :defer 1    :bind    (:map ivy-minibuffer-map          ([escape] . keyboard-escape-quit) @@ -881,6 +933,7 @@ There's no way I could top that, so I won't attempt to.  #+begin_src emacs-lisp  (use-package swiper +  :general (:states 'normal "/" 'swiper)    :bind (([remap isearch-forward]  . swiper)  	 ([remap isearch-backward] . swiper)))  #+end_src @@ -890,6 +943,10 @@ There's no way I could top that, so I won't attempt to.  #+begin_src emacs-lisp  (use-package counsel    :defer 1 +  :general (ab--leader-keys +    "f r" 'counsel-recentf +    "SPC" 'counsel-M-x +    "."   'counsel-find-file)    :bind (([remap execute-extended-command] . counsel-M-x)           ([remap find-file] . counsel-find-file)           ("s-r"     . counsel-recentf) @@ -1000,6 +1057,16 @@ TODO: break this giant source block down into individual org sections.    (global-company-mode t))  #+end_src +** Customizations + +#+begin_src emacs-lisp +(ab--leader-keys +  "b s" 'save-buffer +  "b b" 'ivy-switch-buffer +  "b k" 'kill-buffer +  "q q" 'evil-save-and-quit) +#+end_src +  * Syntax and spell checking  #+begin_src emacs-lisp  (use-package flycheck @@ -1230,6 +1297,11 @@ Emacs package that displays available keybindings in popup    (delete-other-windows)    (notmuch)) +;; (ab--leader-keys +;;   "m"   'ab/notmuch +;;   "s"   'save-buffer +;;   "SPC" 'counsel-M-x) +  ;; (map!  ;;  :leader  ;;  :desc "notmuch" :n "m" #'ab/notmuch @@ -1277,6 +1349,7 @@ Emacs package that displays available keybindings in popup          mml-secure-openpgp-sign-with-sender t))  (use-package notmuch +  :general (ab--leader-keys "m" 'ab/notmuch)    :config    (setq notmuch-hello-sections          '(notmuch-hello-insert-header diff --git a/lib/evil b/lib/evil new file mode 160000 +Subproject 230b87212c81aaa68ef5547a6b998d9c365fe13 diff --git a/lib/evil-escape b/lib/evil-escape new file mode 160000 +Subproject 25920fb2f4ef48998eecea433c04096f8d124cf diff --git a/lib/general b/lib/general new file mode 160000 +Subproject 38590b2b40d9ae71a047914f938416a7bd01e37  | 
