clean up keybindings
This commit is contained in:
parent
0e52a119c3
commit
57c21a4257
181
conf.el
181
conf.el
|
@ -66,28 +66,6 @@
|
||||||
;; (setq dashboard-banner-logo-title "Emacs"))
|
;; (setq dashboard-banner-logo-title "Emacs"))
|
||||||
;; (setq dashboard-items '((recents . 10))))
|
;; (setq dashboard-items '((recents . 10))))
|
||||||
|
|
||||||
(global-set-key (kbd "C-h a") 'apropos)
|
|
||||||
|
|
||||||
(global-set-key (kbd "<f1>") 'org-agenda)
|
|
||||||
(global-set-key (kbd "<f2>") 'org-capture)
|
|
||||||
(global-set-key (kbd "<f12>") 'global-hl-line-mode)
|
|
||||||
(global-set-key (kbd "S-<f12>") 'display-line-numbers-mode)
|
|
||||||
(global-set-key (kbd "C-<f12>") 'mu4e)
|
|
||||||
|
|
||||||
(use-package evil
|
|
||||||
:ensure t
|
|
||||||
:init
|
|
||||||
;; this is required to make evil collection work
|
|
||||||
(setq evil-want-integration nil)
|
|
||||||
:config
|
|
||||||
(evil-mode 1))
|
|
||||||
|
|
||||||
(use-package evil-collection
|
|
||||||
:ensure t
|
|
||||||
:after evil
|
|
||||||
:init
|
|
||||||
(evil-collection-init '(which-key helm minibuffer mu4e)))
|
|
||||||
|
|
||||||
(use-package delight
|
(use-package delight
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
|
@ -105,6 +83,7 @@
|
||||||
|
|
||||||
(use-package helm
|
(use-package helm
|
||||||
:ensure t
|
:ensure t
|
||||||
|
:delight
|
||||||
:bind
|
:bind
|
||||||
("C-x C-f" . 'helm-find-files)
|
("C-x C-f" . 'helm-find-files)
|
||||||
("C-x C-b" . 'helm-buffers-list)
|
("C-x C-b" . 'helm-buffers-list)
|
||||||
|
@ -232,73 +211,30 @@ event of an error or nonlocal exit."
|
||||||
(string-prefix-p prefix i)))
|
(string-prefix-p prefix i)))
|
||||||
str-list))
|
str-list))
|
||||||
|
|
||||||
(defun split-and-follow-horizontally ()
|
(defun nd/split-and-follow-horizontally ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(split-window-below)
|
(split-window-below)
|
||||||
(balance-windows)
|
(balance-windows)
|
||||||
(other-window 1))
|
(other-window 1))
|
||||||
(global-set-key (kbd "C-x 2") 'split-and-follow-horizontally)
|
|
||||||
|
|
||||||
(defun split-and-follow-vertically ()
|
(defun nd/split-and-follow-vertically ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(split-window-right)
|
(split-window-right)
|
||||||
(balance-windows)
|
(balance-windows)
|
||||||
(other-window 1))
|
(other-window 1))
|
||||||
(global-set-key (kbd "C-x 3") 'split-and-follow-vertically)
|
|
||||||
|
|
||||||
(defun config-visit ()
|
|
||||||
(interactive)
|
|
||||||
(find-file "~/.emacs.d/conf.org"))
|
|
||||||
(global-set-key (kbd "C-c e") 'config-visit)
|
|
||||||
|
|
||||||
(defun config-reload ()
|
|
||||||
"Reloads ~/.emacs.d/conf.org at runtime"
|
|
||||||
(interactive)
|
|
||||||
(org-babel-load-file (expand-file-name "~/.emacs.d/conf.org")))
|
|
||||||
(global-set-key (kbd "C-c r") 'config-reload)
|
|
||||||
|
|
||||||
(global-set-key (kbd "C-S-w") 'fc/delete-whole-line)
|
|
||||||
(defun fc/delete-whole-line ()
|
|
||||||
"Delete the whole line without flooding the kill ring"
|
|
||||||
(interactive)
|
|
||||||
(delete-region (progn (forward-line 0) (point))
|
|
||||||
(progn (forward-line 1) (point))))
|
|
||||||
|
|
||||||
(global-set-key (kbd "M-d") 'fc/delete-word-forward)
|
|
||||||
(defun fc/delete-word-forward (arg)
|
|
||||||
"Delete word forward without flooding the kill ring"
|
|
||||||
(interactive "p")
|
|
||||||
(delete-region (point) (progn (forward-word arg) (point))))
|
|
||||||
|
|
||||||
(global-set-key (kbd "<M-backspace>") 'fc/delete-word-backward)
|
|
||||||
(defun fc/delete-word-backward (arg)
|
|
||||||
"Delete word backward without flooding the kill ring"
|
|
||||||
(interactive "p")
|
|
||||||
(delete-region (point) (progn (backward-word arg) (point))))
|
|
||||||
|
|
||||||
(global-set-key (kbd "C-c C-d") 'fc/duplicate-current-line-or-region)
|
|
||||||
(defun fc/duplicate-current-line-or-region (arg)
|
|
||||||
"Duplicates the current line or region ARG times."
|
|
||||||
(interactive "p")
|
|
||||||
(let (beg end (origin (point)))
|
|
||||||
(if (and mark-active (> (point) (mark)))
|
|
||||||
(exchange-point-and-mark))
|
|
||||||
(setq beg (line-beginning-position))
|
|
||||||
(if mark-active
|
|
||||||
(exchange-point-and-mark))
|
|
||||||
(setq end (line-end-position))
|
|
||||||
(let ((region (buffer-substring-no-properties beg end)))
|
|
||||||
(dotimes (i arg)
|
|
||||||
(goto-char end)
|
|
||||||
(newline)
|
|
||||||
(insert region)
|
|
||||||
(setq end (point))))))
|
|
||||||
|
|
||||||
(defun nd/switch-to-previous-buffer ()
|
(defun nd/switch-to-previous-buffer ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(switch-to-buffer (other-buffer (current-buffer) 1)))
|
(switch-to-buffer (other-buffer (current-buffer) 1)))
|
||||||
|
|
||||||
(global-set-key (kbd "M-b") 'nd/switch-to-previous-buffer)
|
(defun nd/config-reload ()
|
||||||
|
"Reloads ~/.emacs.d/conf.org at runtime"
|
||||||
|
(interactive)
|
||||||
|
(org-babel-load-file (expand-file-name "~/.emacs.d/conf.org")))
|
||||||
|
|
||||||
|
(defun nd/config-visit ()
|
||||||
|
(interactive)
|
||||||
|
(find-file "~/.emacs.d/conf.org"))
|
||||||
|
|
||||||
(setq inferior-R-args "--quiet --no-save")
|
(setq inferior-R-args "--quiet --no-save")
|
||||||
(load "ess-site")
|
(load "ess-site")
|
||||||
|
@ -320,16 +256,9 @@ event of an error or nonlocal exit."
|
||||||
(setq org-modules '(org-habit org-protocol))
|
(setq org-modules '(org-habit org-protocol))
|
||||||
(require 'org-protocol)
|
(require 'org-protocol)
|
||||||
|
|
||||||
(use-package evil-org
|
(setq org-special-ctrl-a/e t)
|
||||||
:ensure t
|
(setq org-special-ctrl-k t)
|
||||||
:after evil
|
(setq org-yank-adjusted-subtrees t)
|
||||||
:after org
|
|
||||||
:delight
|
|
||||||
:config
|
|
||||||
(add-hook 'org-mode-hook 'evil-org-mode)
|
|
||||||
(add-hook 'evil-org-mode-hook (lambda () (evil-org-set-key-theme)))
|
|
||||||
(require 'evil-org-agenda)
|
|
||||||
(evil-org-agenda-set-keys))
|
|
||||||
|
|
||||||
(setq org-log-into-drawer "LOGBOOK")
|
(setq org-log-into-drawer "LOGBOOK")
|
||||||
(setq org-log-done t)
|
(setq org-log-done t)
|
||||||
|
@ -408,30 +337,6 @@ event of an error or nonlocal exit."
|
||||||
(add-to-list 'org-structure-template-alist
|
(add-to-list 'org-structure-template-alist
|
||||||
'("el" "#+BEGIN_SRC emacs-lisp\n?\n#+END_SRC"))
|
'("el" "#+BEGIN_SRC emacs-lisp\n?\n#+END_SRC"))
|
||||||
|
|
||||||
(setq org-special-ctrl-a/e t)
|
|
||||||
(setq org-special-ctrl-k t)
|
|
||||||
(setq org-yank-adjusted-subtrees t)
|
|
||||||
|
|
||||||
(add-hook 'org-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(local-set-key (kbd "C-c C-x x") 'nd/mark-subtree-done)
|
|
||||||
(local-set-key (kbd "C-c C-x c") 'nd/org-clone-subtree-with-time-shift)))
|
|
||||||
|
|
||||||
(evil-define-key 'motion org-agenda-mode-map
|
|
||||||
"t" 'nd/toggle-project-toplevel-display
|
|
||||||
"D" 'org-agenda-day-view
|
|
||||||
"W" 'org-agenda-week-view
|
|
||||||
"M" 'org-agenda-month-view
|
|
||||||
"Y" 'org-agenda-year-view
|
|
||||||
"ct" nil
|
|
||||||
"sC" 'nd/org-agenda-filter-non-context
|
|
||||||
"e" 'org-agenda-set-effort
|
|
||||||
"ce" nil)
|
|
||||||
|
|
||||||
(add-hook 'org-agenda-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(local-set-key (kbd "C-c C-c") 'org-agenda-set-tags)))
|
|
||||||
|
|
||||||
(setq org-todo-keywords
|
(setq org-todo-keywords
|
||||||
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d)")
|
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d)")
|
||||||
(sequence "WAIT(w@/!)" "HOLD(h@/!)" "|" "CANC(c@/!)")))
|
(sequence "WAIT(w@/!)" "HOLD(h@/!)" "|" "CANC(c@/!)")))
|
||||||
|
@ -1364,3 +1269,61 @@ and reverts all todo keywords to TODO"
|
||||||
(ad-activate 'ansi-term)
|
(ad-activate 'ansi-term)
|
||||||
|
|
||||||
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
|
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
|
||||||
|
|
||||||
|
(use-package evil
|
||||||
|
:ensure t
|
||||||
|
:init
|
||||||
|
;; this is required to make evil collection work
|
||||||
|
(setq evil-want-integration nil)
|
||||||
|
:config
|
||||||
|
(evil-mode 1))
|
||||||
|
|
||||||
|
(use-package evil-org
|
||||||
|
:ensure t
|
||||||
|
:after evil
|
||||||
|
:after org
|
||||||
|
:delight
|
||||||
|
:config
|
||||||
|
(add-hook 'org-mode-hook 'evil-org-mode)
|
||||||
|
(add-hook 'evil-org-mode-hook (lambda () (evil-org-set-key-theme)))
|
||||||
|
|
||||||
|
(require 'evil-org-agenda)
|
||||||
|
(evil-org-agenda-set-keys)
|
||||||
|
;; some of the defaults bug me...
|
||||||
|
(evil-define-key 'motion org-agenda-mode-map
|
||||||
|
"t" 'nd/toggle-project-toplevel-display
|
||||||
|
"D" 'org-agenda-day-view
|
||||||
|
"W" 'org-agenda-week-view
|
||||||
|
"M" 'org-agenda-month-view
|
||||||
|
"Y" 'org-agenda-year-view
|
||||||
|
"ct" nil
|
||||||
|
"sC" 'nd/org-agenda-filter-non-context
|
||||||
|
"e" 'org-agenda-set-effort
|
||||||
|
"ce" nil))
|
||||||
|
|
||||||
|
(use-package evil-collection
|
||||||
|
:ensure t
|
||||||
|
:after evil
|
||||||
|
:init
|
||||||
|
(evil-collection-init '(which-key helm minibuffer mu4e)))
|
||||||
|
|
||||||
|
(add-hook 'org-mode-hook
|
||||||
|
(lambda ()
|
||||||
|
(local-set-key (kbd "C-c C-x x") 'nd/mark-subtree-done)
|
||||||
|
(local-set-key (kbd "C-c C-x c") 'nd/org-clone-subtree-with-time-shift)))
|
||||||
|
|
||||||
|
(add-hook 'org-agenda-mode-hook
|
||||||
|
(lambda ()
|
||||||
|
(local-set-key (kbd "C-c C-c") 'org-agenda-set-tags)))
|
||||||
|
|
||||||
|
(global-set-key (kbd "<f1>") 'org-agenda)
|
||||||
|
(global-set-key (kbd "<f2>") 'org-capture)
|
||||||
|
(global-set-key (kbd "<f12>") 'global-hl-line-mode)
|
||||||
|
(global-set-key (kbd "S-<f12>") 'display-line-numbers-mode)
|
||||||
|
(global-set-key (kbd "C-<f12>") 'mu4e)
|
||||||
|
|
||||||
|
(global-set-key (kbd "M-b") 'nd/switch-to-previous-buffer)
|
||||||
|
(global-set-key (kbd "C-c r") 'nd/config-reload)
|
||||||
|
(global-set-key (kbd "C-c e") 'nd/config-visit)
|
||||||
|
(global-set-key (kbd "C-x 2") 'nd/split-and-follow-horizontally)
|
||||||
|
(global-set-key (kbd "C-x 3") 'nd/split-and-follow-vertically)
|
||||||
|
|
235
conf.org
235
conf.org
|
@ -104,39 +104,9 @@ NOTE: this only works if we start term after gui, and term has light bg. not big
|
||||||
;; (setq dashboard-banner-logo-title "Emacs"))
|
;; (setq dashboard-banner-logo-title "Emacs"))
|
||||||
;; (setq dashboard-items '((recents . 10))))
|
;; (setq dashboard-items '((recents . 10))))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
* keybindings
|
|
||||||
** overrides
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(global-set-key (kbd "C-h a") 'apropos)
|
|
||||||
#+END_SRC
|
|
||||||
** modeless bindings
|
|
||||||
These are commands that should work in any mode. Make the assumption that function keys are pretty much free in any major/minor mode
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(global-set-key (kbd "<f1>") 'org-agenda)
|
|
||||||
(global-set-key (kbd "<f2>") 'org-capture)
|
|
||||||
(global-set-key (kbd "<f12>") 'global-hl-line-mode)
|
|
||||||
(global-set-key (kbd "S-<f12>") 'display-line-numbers-mode)
|
|
||||||
(global-set-key (kbd "C-<f12>") 'mu4e)
|
|
||||||
#+END_SRC
|
|
||||||
* printing
|
* printing
|
||||||
**
|
**
|
||||||
* packages
|
* packages
|
||||||
** evil
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(use-package evil
|
|
||||||
:ensure t
|
|
||||||
:init
|
|
||||||
;; this is required to make evil collection work
|
|
||||||
(setq evil-want-integration nil)
|
|
||||||
:config
|
|
||||||
(evil-mode 1))
|
|
||||||
|
|
||||||
(use-package evil-collection
|
|
||||||
:ensure t
|
|
||||||
:after evil
|
|
||||||
:init
|
|
||||||
(evil-collection-init '(which-key helm minibuffer mu4e)))
|
|
||||||
#+END_SRC
|
|
||||||
** delight
|
** delight
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package delight
|
(use-package delight
|
||||||
|
@ -162,6 +132,7 @@ These are commands that should work in any mode. Make the assumption that functi
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package helm
|
(use-package helm
|
||||||
:ensure t
|
:ensure t
|
||||||
|
:delight
|
||||||
:bind
|
:bind
|
||||||
("C-x C-f" . 'helm-find-files)
|
("C-x C-f" . 'helm-find-files)
|
||||||
("C-x C-b" . 'helm-buffers-list)
|
("C-x C-b" . 'helm-buffers-list)
|
||||||
|
@ -317,93 +288,32 @@ event of an error or nonlocal exit."
|
||||||
(string-prefix-p prefix i)))
|
(string-prefix-p prefix i)))
|
||||||
str-list))
|
str-list))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
* custom functions
|
** interactive
|
||||||
** follow window splitting
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(defun split-and-follow-horizontally ()
|
(defun nd/split-and-follow-horizontally ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(split-window-below)
|
(split-window-below)
|
||||||
(balance-windows)
|
(balance-windows)
|
||||||
(other-window 1))
|
(other-window 1))
|
||||||
(global-set-key (kbd "C-x 2") 'split-and-follow-horizontally)
|
|
||||||
|
|
||||||
(defun split-and-follow-vertically ()
|
(defun nd/split-and-follow-vertically ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(split-window-right)
|
(split-window-right)
|
||||||
(balance-windows)
|
(balance-windows)
|
||||||
(other-window 1))
|
(other-window 1))
|
||||||
(global-set-key (kbd "C-x 3") 'split-and-follow-vertically)
|
|
||||||
#+END_SRC
|
|
||||||
** config edit and reload
|
|
||||||
*** edit
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(defun config-visit ()
|
|
||||||
(interactive)
|
|
||||||
(find-file "~/.emacs.d/conf.org"))
|
|
||||||
(global-set-key (kbd "C-c e") 'config-visit)
|
|
||||||
#+END_SRC
|
|
||||||
*** reload
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(defun config-reload ()
|
|
||||||
"Reloads ~/.emacs.d/conf.org at runtime"
|
|
||||||
(interactive)
|
|
||||||
(org-babel-load-file (expand-file-name "~/.emacs.d/conf.org")))
|
|
||||||
(global-set-key (kbd "C-c r") 'config-reload)
|
|
||||||
#+END_SRC
|
|
||||||
** custom keybindings
|
|
||||||
*** delete whole line
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(global-set-key (kbd "C-S-w") 'fc/delete-whole-line)
|
|
||||||
(defun fc/delete-whole-line ()
|
|
||||||
"Delete the whole line without flooding the kill ring"
|
|
||||||
(interactive)
|
|
||||||
(delete-region (progn (forward-line 0) (point))
|
|
||||||
(progn (forward-line 1) (point))))
|
|
||||||
#+END_SRC
|
|
||||||
*** delete word forward
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(global-set-key (kbd "M-d") 'fc/delete-word-forward)
|
|
||||||
(defun fc/delete-word-forward (arg)
|
|
||||||
"Delete word forward without flooding the kill ring"
|
|
||||||
(interactive "p")
|
|
||||||
(delete-region (point) (progn (forward-word arg) (point))))
|
|
||||||
#+END_SRC
|
|
||||||
*** delete word backward
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(global-set-key (kbd "<M-backspace>") 'fc/delete-word-backward)
|
|
||||||
(defun fc/delete-word-backward (arg)
|
|
||||||
"Delete word backward without flooding the kill ring"
|
|
||||||
(interactive "p")
|
|
||||||
(delete-region (point) (progn (backward-word arg) (point))))
|
|
||||||
#+END_SRC
|
|
||||||
*** duplicate line
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(global-set-key (kbd "C-c C-d") 'fc/duplicate-current-line-or-region)
|
|
||||||
(defun fc/duplicate-current-line-or-region (arg)
|
|
||||||
"Duplicates the current line or region ARG times."
|
|
||||||
(interactive "p")
|
|
||||||
(let (beg end (origin (point)))
|
|
||||||
(if (and mark-active (> (point) (mark)))
|
|
||||||
(exchange-point-and-mark))
|
|
||||||
(setq beg (line-beginning-position))
|
|
||||||
(if mark-active
|
|
||||||
(exchange-point-and-mark))
|
|
||||||
(setq end (line-end-position))
|
|
||||||
(let ((region (buffer-substring-no-properties beg end)))
|
|
||||||
(dotimes (i arg)
|
|
||||||
(goto-char end)
|
|
||||||
(newline)
|
|
||||||
(insert region)
|
|
||||||
(setq end (point))))))
|
|
||||||
#+END_SRC
|
|
||||||
(goto-char (+ origin (* (length region) arg) arg)))))
|
|
||||||
** previous buffer
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(defun nd/switch-to-previous-buffer ()
|
(defun nd/switch-to-previous-buffer ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(switch-to-buffer (other-buffer (current-buffer) 1)))
|
(switch-to-buffer (other-buffer (current-buffer) 1)))
|
||||||
|
|
||||||
(global-set-key (kbd "M-b") 'nd/switch-to-previous-buffer)
|
(defun nd/config-reload ()
|
||||||
|
"Reloads ~/.emacs.d/conf.org at runtime"
|
||||||
|
(interactive)
|
||||||
|
(org-babel-load-file (expand-file-name "~/.emacs.d/conf.org")))
|
||||||
|
|
||||||
|
(defun nd/config-visit ()
|
||||||
|
(interactive)
|
||||||
|
(find-file "~/.emacs.d/conf.org"))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
* ess
|
* ess
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
@ -445,18 +355,11 @@ event of an error or nonlocal exit."
|
||||||
(setq org-modules '(org-habit org-protocol))
|
(setq org-modules '(org-habit org-protocol))
|
||||||
(require 'org-protocol)
|
(require 'org-protocol)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** evil
|
** navigation
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package evil-org
|
(setq org-special-ctrl-a/e t)
|
||||||
:ensure t
|
(setq org-special-ctrl-k t)
|
||||||
:after evil
|
(setq org-yank-adjusted-subtrees t)
|
||||||
:after org
|
|
||||||
:delight
|
|
||||||
:config
|
|
||||||
(add-hook 'org-mode-hook 'evil-org-mode)
|
|
||||||
(add-hook 'evil-org-mode-hook (lambda () (evil-org-set-key-theme)))
|
|
||||||
(require 'evil-org-agenda)
|
|
||||||
(evil-org-agenda-set-keys))
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** logging
|
** logging
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -563,37 +466,6 @@ Capture should show up in the bottom of any currently active buffer
|
||||||
(add-to-list 'org-structure-template-alist
|
(add-to-list 'org-structure-template-alist
|
||||||
'("el" "#+BEGIN_SRC emacs-lisp\n?\n#+END_SRC"))
|
'("el" "#+BEGIN_SRC emacs-lisp\n?\n#+END_SRC"))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
** keyboard shortcuts
|
|
||||||
*** navigation
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(setq org-special-ctrl-a/e t)
|
|
||||||
(setq org-special-ctrl-k t)
|
|
||||||
(setq org-yank-adjusted-subtrees t)
|
|
||||||
#+END_SRC
|
|
||||||
*** custom
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(add-hook 'org-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(local-set-key (kbd "C-c C-x x") 'nd/mark-subtree-done)
|
|
||||||
(local-set-key (kbd "C-c C-x c") 'nd/org-clone-subtree-with-time-shift)))
|
|
||||||
#+END_SRC
|
|
||||||
*** agenda
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(evil-define-key 'motion org-agenda-mode-map
|
|
||||||
"t" 'nd/toggle-project-toplevel-display
|
|
||||||
"D" 'org-agenda-day-view
|
|
||||||
"W" 'org-agenda-week-view
|
|
||||||
"M" 'org-agenda-month-view
|
|
||||||
"Y" 'org-agenda-year-view
|
|
||||||
"ct" nil
|
|
||||||
"sC" 'nd/org-agenda-filter-non-context
|
|
||||||
"e" 'org-agenda-set-effort
|
|
||||||
"ce" nil)
|
|
||||||
|
|
||||||
(add-hook 'org-agenda-mode-hook
|
|
||||||
(lambda ()
|
|
||||||
(local-set-key (kbd "C-c C-c") 'org-agenda-set-tags)))
|
|
||||||
#+END_SRC
|
|
||||||
** todo states
|
** todo states
|
||||||
*** sequences
|
*** sequences
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -1688,3 +1560,76 @@ only for gmail now
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
|
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
* keybindings
|
||||||
|
For the sake of my sanity, all bindings go here.
|
||||||
|
** evil
|
||||||
|
I like being evil. All package and custom bindings go here.
|
||||||
|
*** basic
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package evil
|
||||||
|
:ensure t
|
||||||
|
:init
|
||||||
|
;; this is required to make evil collection work
|
||||||
|
(setq evil-want-integration nil)
|
||||||
|
:config
|
||||||
|
(evil-mode 1))
|
||||||
|
#+END_SRC
|
||||||
|
*** evil-org
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package evil-org
|
||||||
|
:ensure t
|
||||||
|
:after evil
|
||||||
|
:after org
|
||||||
|
:delight
|
||||||
|
:config
|
||||||
|
(add-hook 'org-mode-hook 'evil-org-mode)
|
||||||
|
(add-hook 'evil-org-mode-hook (lambda () (evil-org-set-key-theme)))
|
||||||
|
|
||||||
|
(require 'evil-org-agenda)
|
||||||
|
(evil-org-agenda-set-keys)
|
||||||
|
;; some of the defaults bug me...
|
||||||
|
(evil-define-key 'motion org-agenda-mode-map
|
||||||
|
"t" 'nd/toggle-project-toplevel-display
|
||||||
|
"D" 'org-agenda-day-view
|
||||||
|
"W" 'org-agenda-week-view
|
||||||
|
"M" 'org-agenda-month-view
|
||||||
|
"Y" 'org-agenda-year-view
|
||||||
|
"ct" nil
|
||||||
|
"sC" 'nd/org-agenda-filter-non-context
|
||||||
|
"e" 'org-agenda-set-effort
|
||||||
|
"ce" nil))
|
||||||
|
#+END_SRC
|
||||||
|
*** collection
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package evil-collection
|
||||||
|
:ensure t
|
||||||
|
:after evil
|
||||||
|
:init
|
||||||
|
(evil-collection-init '(which-key helm minibuffer mu4e)))
|
||||||
|
#+END_SRC
|
||||||
|
** local
|
||||||
|
*** org-mode
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(add-hook 'org-mode-hook
|
||||||
|
(lambda ()
|
||||||
|
(local-set-key (kbd "C-c C-x x") 'nd/mark-subtree-done)
|
||||||
|
(local-set-key (kbd "C-c C-x c") 'nd/org-clone-subtree-with-time-shift)))
|
||||||
|
|
||||||
|
(add-hook 'org-agenda-mode-hook
|
||||||
|
(lambda ()
|
||||||
|
(local-set-key (kbd "C-c C-c") 'org-agenda-set-tags)))
|
||||||
|
#+END_SRC
|
||||||
|
** global
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(global-set-key (kbd "<f1>") 'org-agenda)
|
||||||
|
(global-set-key (kbd "<f2>") 'org-capture)
|
||||||
|
(global-set-key (kbd "<f12>") 'global-hl-line-mode)
|
||||||
|
(global-set-key (kbd "S-<f12>") 'display-line-numbers-mode)
|
||||||
|
(global-set-key (kbd "C-<f12>") 'mu4e)
|
||||||
|
|
||||||
|
(global-set-key (kbd "M-b") 'nd/switch-to-previous-buffer)
|
||||||
|
(global-set-key (kbd "C-c r") 'nd/config-reload)
|
||||||
|
(global-set-key (kbd "C-c e") 'nd/config-visit)
|
||||||
|
(global-set-key (kbd "C-x 2") 'nd/split-and-follow-horizontally)
|
||||||
|
(global-set-key (kbd "C-x 3") 'nd/split-and-follow-vertically)
|
||||||
|
#+END_SRC
|
||||||
|
|
Loading…
Reference in New Issue