Browse Source

Add elfeed, leader major mode, fix latex tabs

master
Riyyi 4 years ago
parent
commit
00699ccb74
  1. 441
      .emacs.d/config.org

441
.emacs.d/config.org

@ -338,7 +338,8 @@ On the fly syntax checking.
:defer t :defer t
:hook :hook
((org-mode ((org-mode
prog-mode) prog-mode
tex-mode)
. yas-minor-mode) . yas-minor-mode)
:custom (yas-prompt-functions '(yas-ido-prompt :custom (yas-prompt-functions '(yas-ido-prompt
yas-completing-prompt)) yas-completing-prompt))
@ -422,21 +423,47 @@ Irony requires M-x =irony-install-server=.
Possible modern replacement for column-enforce-mode: Possible modern replacement for column-enforce-mode:
https://github.com/laishulu/hl-fill-column https://github.com/laishulu/hl-fill-column
*** RSS
#+BEGIN_SRC emacs-lisp
(use-package elfeed
:custom
(elfeed-db-directory "~/.emacs.d/elfeed/")
(elfeed-enclosure-default-dir "~/downloads/")
(elfeed-search-filter "@6-months-ago +unread")
(elfeed-search-clipboard-type 'CLIPBOARD)
(elfeed-search-title-max-width 100)
(elfeed-search-title-min-width 30)
(elfeed-search-trailing-width 50)
(elfeed-show-unique-buffers t)
(elfeed-feeds
'(("https://www.youtube.com/feeds/videos.xml?user=linustechtips" comedy reviews youtube)
("https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA" boomer linux shell youtube)
("https://phoronix.com/rss.php" linux news reviews)
))
:hook
(elfeed-search-mode . (lambda (&rest _) (display-line-numbers-mode 0)))
(elfeed-show-mode . (lambda (&rest _) (display-line-numbers-mode 0))))
#+END_SRC
* General * General
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
;; Columns start at 1
(setq column-number-indicator-zero-based nil)
;; Custom thems, do not ask if safe
(setq custom-safe-themes t)
;; Scrolling ;; Scrolling
(setq scroll-conservatively 1) (setq scroll-conservatively 1)
(setq mouse-wheel-scroll-amount '(5)) (setq mouse-wheel-scroll-amount '(5))
(setq mouse-wheel-progressive-speed nil) (setq mouse-wheel-progressive-speed nil)
;; Columns start at 1
(setq column-number-indicator-zero-based nil)
;; Automatically add newline on save at the end of the file ;; Automatically add newline on save at the end of the file
(setq require-final-newline t) (setq require-final-newline t)
;; Change parenthesis behavior ;; Parenthesis, set behavior
(setq show-paren-delay 0) (setq show-paren-delay 0)
(setq show-paren-style 'mixed) (setq show-paren-style 'mixed)
@ -754,6 +781,9 @@ Evil command aliases.
;; PHP, set correct tab mode ;; PHP, set correct tab mode
(add-hook 'php-mode-hook (lambda () (setq indent-tabs-mode t))) (add-hook 'php-mode-hook (lambda () (setq indent-tabs-mode t)))
;; LaTeX, set correct tab mode
(add-hook 'latex-mode-hook (lambda () (setq indent-tabs-mode t)))
#+END_SRC #+END_SRC
* Key Bindings * Key Bindings
@ -814,202 +844,237 @@ Disable spacebar in evil motion.
** Package ** Package
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
;; Buffers ;; Buffers
(global-set-key (kbd "M-h") 'centaur-tabs-backward-tab) (global-set-key (kbd "M-h") 'centaur-tabs-backward-tab)
(global-set-key (kbd "M-l") 'centaur-tabs-forward-tab) (global-set-key (kbd "M-l") 'centaur-tabs-forward-tab)
(global-set-key (kbd "C-M-h") 'centaur-tabs-move-current-tab-to-left) (global-set-key (kbd "C-M-h") 'centaur-tabs-move-current-tab-to-left)
(global-set-key (kbd "C-M-l") 'centaur-tabs-move-current-tab-to-right) (global-set-key (kbd "C-M-l") 'centaur-tabs-move-current-tab-to-right)
(global-set-key (kbd "M-x") 'smex) (global-set-key (kbd "M-x") 'smex)
;; Company completion selection ;; Company completion selection
(with-eval-after-load 'company (with-eval-after-load 'company
(define-key company-active-map (kbd "M-n") nil) (define-key company-active-map (kbd "M-n") nil)
(define-key company-active-map (kbd "M-p") nil) (define-key company-active-map (kbd "M-p") nil)
(define-key company-active-map (kbd "M-h") #'company-abort) (define-key company-active-map (kbd "M-h") #'company-abort)
(define-key company-active-map (kbd "M-j") #'company-select-next) (define-key company-active-map (kbd "M-j") #'company-select-next)
(define-key company-active-map (kbd "M-k") #'company-select-previous) (define-key company-active-map (kbd "M-k") #'company-select-previous)
(define-key company-active-map (kbd "M-l") #'company-complete-selection) (define-key company-active-map (kbd "M-l") #'company-complete-selection)
(define-key company-active-map (kbd "<escape>") #'company-abort)) (define-key company-active-map (kbd "<escape>") #'company-abort))
;https://github.com/company-mode/company-mode/blob/master/company.el#L661 ; https://github.com/company-mode/company-mode/blob/master/company.el#L661
;; Evil command history selection ;; Evil command history selection
(with-eval-after-load 'evil-ex (with-eval-after-load 'evil-ex
(define-key evil-ex-completion-map (kbd "M-h") 'abort-recursive-edit) (define-key evil-ex-completion-map (kbd "M-h") 'abort-recursive-edit)
(define-key evil-ex-completion-map (kbd "M-j") #'next-complete-history-element) (define-key evil-ex-completion-map (kbd "M-j") #'next-complete-history-element)
(define-key evil-ex-completion-map (kbd "M-k") #'previous-complete-history-element) (define-key evil-ex-completion-map (kbd "M-k") #'previous-complete-history-element)
(define-key evil-ex-completion-map (kbd "M-l") 'exit-minibuffer)) (define-key evil-ex-completion-map (kbd "M-l") 'exit-minibuffer))
; Overwrite evil keymaps ; Overwrite evil keymaps
;(evil-global-set-key 'motion (kbd "C-w") 'kill-this-buffer) ;(evil-global-set-key 'motion (kbd "C-w") 'kill-this-buffer)
;(evil-define-key 'motion 'global (kbd "C-w") 'kill-this-buffer) ;(evil-define-key 'motion 'global (kbd "C-w") 'kill-this-buffer)
;(define-key evil-motion-state-map (kbd "C-w") 'kill-this-buffer) ; @Todo test this with nil ;(define-key evil-motion-state-map (kbd "C-w") 'kill-this-buffer) ; @Todo test this with nil
;https://github.com/noctuid/evil-guide#global-keybindings-and-evil-states ;https://github.com/noctuid/evil-guide#global-keybindings-and-evil-states
(with-eval-after-load 'evil-states (with-eval-after-load 'evil-states
(general-define-key (general-define-key
:keymaps 'evil-normal-state-map :keymaps 'evil-normal-state-map
;; Neotree ;; Neotree
"C-n" 'neotree-toggle-in-project-root) "C-n" 'neotree-toggle-in-project-root)
(general-define-key (general-define-key
:states 'normal :states 'normal
:keymaps 'neotree-mode-map :keymaps 'neotree-mode-map
"RET" 'neotree-enter "RET" 'neotree-enter
"<backtab>" 'neotree-collapse-all ; <S-tab> "<backtab>" 'neotree-collapse-all ; <S-tab>
"c" 'neotree-create-node "c" 'neotree-create-node
"r" 'neotree-rename-node "r" 'neotree-rename-node
"d" 'neotree-delete-node "d" 'neotree-delete-node
"h" 'neotree-select-previous-sibling-node "h" 'neotree-select-previous-sibling-node
"j" 'neotree-next-line "j" 'neotree-next-line
"k" 'neotree-previous-line "k" 'neotree-previous-line
"l" 'neotree-enter "l" 'neotree-enter
"R" 'neotree-refresh "R" 'neotree-refresh
"C" 'neotree-change-root "C" 'neotree-change-root
"H" 'neotree-hidden-file-toggle "H" 'neotree-hidden-file-toggle
"q" 'neotree-hide "q" 'neotree-hide
) )
;; Dashboard ;; Dashboard
(general-define-key (general-define-key
:states 'normal :states 'normal
:keymaps 'dashboard-mode-map :keymaps 'dashboard-mode-map
[down-mouse-1] 'widget-button-click [down-mouse-1] 'widget-button-click
"g" 'dashboard-refresh-buffer "g" 'dashboard-refresh-buffer
"m" 'dashboard-goto-bookmarks "m" 'dashboard-goto-bookmarks
"p" 'dashboard-goto-projects "p" 'dashboard-goto-projects
"r" 'dashboard-goto-recent-files "r" 'dashboard-goto-recent-files
)) )
;; Elfeed
(general-define-key
:states 'normal
:keymaps 'elfeed-search-mode-map
"gr" 'elfeed-search-update--force
"gR" 'elfeed-search-fetch
"q" 'kill-this-buffer
)
(general-define-key
:states 'normal
:keymaps 'elfeed-show-mode-map
"g" 'elfeed-show-refresh
"q" 'kill-this-buffer
))
#+END_SRC #+END_SRC
** Leader ** Leader
General.el ~leader key binds. General.el ~leader key binds.
*** Global
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(with-eval-after-load 'general (with-eval-after-load 'general
(general-create-definer space-leader (general-create-definer space-leader
:prefix "SPC" :prefix "SPC"
:non-normal-prefix "M-SPC" :non-normal-prefix "M-SPC"
:global-prefix "M-SPC" :global-prefix "M-SPC"
:states '(normal visual insert motion emacs)) :states '(normal visual insert motion emacs))
(general-create-definer comma-leader (space-leader
:prefix "," "SPC" '(smex :which-key "Smex")
:states '(normal visual)) "RET" '(bookmark-jump-ido :which-key "Jump to bookmark")
(space-leader ;; Buffer / bookmark
"SPC" '(smex :which-key "Smex") "b" '(:ignore t :which-key "buffer/bookmark")
"RET" '(bookmark-jump-ido :which-key "Jump to bookmark") "b b" '(ido-switch-buffer :which-key "Switch buffer")
"b B" '(ibuffer :which-key "List buffers")
;; Buffer / bookmark "b d" '(kill-current-buffer :which-key "Kill buffer")
"b" '(:ignore t :which-key "buffer/bookmark") "b h" '(previous-buffer :which-key "Previous buffer")
"b b" '(ido-switch-buffer :which-key "Switch buffer") "b k" '(kill-current-buffer :which-key "Kill buffer")
"b B" '(ibuffer :which-key "List buffers") "b l" '(next-buffer :which-key "Next buffer")
"b d" '(kill-current-buffer :which-key "Kill buffer") "b m" '(bookmark-set :which-key "Make bookmark")
"b h" '(previous-buffer :which-key "Previous buffer") "b M" '(bookmark-delete-ido :which-key "Delete bookmark")
"b k" '(kill-current-buffer :which-key "Kill buffer") "b n" '(evil-buffer-new :which-key "New empty buffer")
"b l" '(next-buffer :which-key "Next buffer") "b r" '(revert-buffer :which-key "Revert buffer")
"b m" '(bookmark-set :which-key "Make bookmark") "b s" '(basic-save-buffer :which-key "Save buffer")
"b M" '(bookmark-delete-ido :which-key "Delete bookmark") "b S" '(evil-write-all :which-key "Save all buffers")
"b n" '(evil-buffer-new :which-key "New empty buffer") "b <left>" '(previous-buffer :which-key "Previous buffer")
"b r" '(revert-buffer :which-key "Revert buffer") "b <right>" '(next-buffer :which-key "Next buffer")
"b s" '(basic-save-buffer :which-key "Save buffer")
"b S" '(evil-write-all :which-key "Save all buffers") ;; Comments / config
"b <left>" '(previous-buffer :which-key "Previous buffer") "c" '(:ignore t :which-key "comment/config")
"b <right>" '(next-buffer :which-key "Next buffer") "c c" '(evilnc-comment-or-uncomment-lines :which-key "Toggle comment")
"c p" '(evilnc-comment-or-uncomment-paragraphs :which-key "Toggle comment paragraph")
;; Comments / config "c r" '(config-reload :which-key "Config reload")
"c" '(:ignore t :which-key "comment/config") "c v" '(config-visit :which-key "Config visit")
"c c" '(evilnc-comment-or-uncomment-lines :which-key "Toggle comment") "c y" '(evilnc-comment-and-kill-ring-save :which-key "Comment and copy")
"c p" '(evilnc-comment-or-uncomment-paragraphs :which-key "Toggle comment paragraph")
"c r" '(config-reload :which-key "Config reload") ;; LSP
"c v" '(config-visit :which-key "Config visit") "d" '(:ignore t :which-key "lsp")
"c y" '(evilnc-comment-and-kill-ring-save :which-key "Comment and copy") "d c" '(lsp-describe-thing-at-point :which-key "LSP Describe under cursor")
"d d" '(lsp-find-definition :which-key "LSP Find definition")
;; LSP "d e" '(lsp-execute-code-action :which-key "LSP Execute code action")
"d" '(:ignore t :which-key "lsp") "d f" '(lsp-format-region-or-buffer :which-key "LSP Format region/buffer")
"d c" '(lsp-describe-thing-at-point :which-key "LSP Describe under cursor") "d r" '(lsp-find-references :which-key "LSP Find references")
"d d" '(lsp-find-definition :which-key "LSP Find definition") "d R" '(lsp-rename :which-key "LSP Rename")
"d e" '(lsp-execute-code-action :which-key "LSP Execute code action") "d s" '(lsp :which-key "Start LSP")
"d f" '(lsp-format-region-or-buffer :which-key "LSP Format region/buffer")
"d r" '(lsp-find-references :which-key "LSP Find references") ;; Find file
"d R" '(lsp-rename :which-key "LSP Rename") "f" '(:ignore t :which-key "file")
"d s" '(lsp :which-key "Start LSP") "f f" '(find-file-in-project-root :which-key "Find file")
"f r" '(rename-file-and-buffer :which-key "Rename file")
;; Find file "f s" '(basic-save-buffer :which-key "Save file")
"f" '(:ignore t :which-key "file")
"f f" '(find-file-in-project-root :which-key "Find file") ;; Tabs
"f r" '(rename-file-and-buffer :which-key "Rename file") "h" '(centaur-tabs-backward-group :which-key "Tab backward group")
"f s" '(basic-save-buffer :which-key "Save file") "j" '(centaur-tabs-select-end-tab :which-key "Tab select first")
"k" '(centaur-tabs-select-beg-tab :which-key "Tab select last")
;; Tabs "l" '(centaur-tabs-forward-group :which-key "Tab forward group")
"h" '(centaur-tabs-backward-group :which-key "Tab backward group")
"j" '(centaur-tabs-select-end-tab :which-key "Tab select first") ;; Insert
"k" '(centaur-tabs-select-beg-tab :which-key "Tab select last") "i" '(:ignore t :which-key "insert")
"l" '(centaur-tabs-forward-group :which-key "Tab forward group") "i s" '(yas-insert-snippet :which-key "Snippet")
;; Insert ;; Neotree
"i" '(:ignore t :which-key "insert") "n" '(neotree-toggle-in-project-root :which-key "Toggle Neotree")
"i s" '(yas-insert-snippet :which-key "Snippet")
;; Projectile
;; Neotree "p" '(:keymap projectile-command-map :which-key "projectile")
"n" '(neotree-toggle-in-project-root :which-key "Toggle Neotree")
;; Quit
;; Projectile "q" '(:ignore t :which-key "quit")
"p" '(:keymap projectile-command-map :which-key "projectile") "q q" '(save-buffers-kill-terminal :which-key "Quit Emacs")
"q Q" '(save-buffers-kill-emacs :which-key "Quit Emacs (and daemon)")
;; Quit "q f" '(delete-frame :which-key "Close frame")
"q" '(:ignore t :which-key "quit") "q o" '(delete-other-frames :which-key "Close other frames")
"q q" '(save-buffers-kill-terminal :which-key "Quit Emacs")
"q Q" '(save-buffers-kill-emacs :which-key "Quit Emacs (and daemon)") ;; Reformat region
"q f" '(delete-frame :which-key "Close frame") "r" '(:ignore t :which-key "region")
"q o" '(delete-other-frames :which-key "Close other frames") "r r" '(indent-region :which-key "Indent region")
;; Reformat region ;; Search
"r" '(:ignore t :which-key "region") "s" '(:ignore t :which-key "search")
"r r" '(indent-region :which-key "Indent region") "s a" '(avy-goto-char-timer :which-key "Avy goto char")
"s b" '(bookmark-jump-ido :which-key "Jump to bookmark")
;; Search
"s" '(:ignore t :which-key "search") ;; Tabs
"s a" '(avy-goto-char-timer :which-key "Avy goto char") "t" '(:ignore t :which-key "tabs")
"s b" '(bookmark-jump-ido :which-key "Jump to bookmark") "t b" '(centaur-tabs-group-buffer-groups :which-key "Group tabs by buffer")
"t p" '(centaur-tabs-group-by-projectile-project :which-key "Group tabs by project")
;; Tabs
"t" '(:ignore t :which-key "tabs") ;; Update packages
"t b" '(centaur-tabs-group-buffer-groups :which-key "Group tabs by buffer") "u" '(auto-package-update-now :which-key "Update packages")
"t p" '(centaur-tabs-group-by-projectile-project :which-key "Group tabs by project")
;; Window
;; Update packages ;; "w" '(:keymap evil-window-map :which-key "window")
"u" '(auto-package-update-now :which-key "Update packages") "w" '(:ignore t :which-key "window")
"w h" '(windmove-left :which-key "Focus window left")
;; Window "w j" '(windmove-down :which-key "Focus window down")
;; "w" '(:keymap evil-window-map :which-key "window") "w k" '(windmove-up :which-key "Focus window up")
"w" '(:ignore t :which-key "window") "w l" '(windmove-right :which-key "Focus window right")
"w h" '(evil-window-left :which-key "Focus window left") "w o" '(delete-other-windows :which-key "Close other windows")
"w j" '(evil-window-down :which-key "Focus window down") "w s" '(:ignore t :which-key "split")
"w k" '(evil-window-up :which-key "Focus window up") "w s h" '(split-follow-horizontally :which-key "Split horizontal")
"w l" '(evil-window-right :which-key "Focus window right") "w s v" '(split-follow-vertically :which-key "Split vertical")
"w o" '(delete-other-windows :which-key "Close other windows") "w w" '(other-window :which-key "Focus other window")
"w s" '(:ignore t :which-key "split") "w q" '(delete-window :which-key "Close window")
"w s h" '(split-follow-horizontally :which-key "Split horizontal") "w <left>" '(windmove-left :which-key "Focus window left")
"w s v" '(split-follow-vertically :which-key "Split vertical") "w <right>" '(windmove-right :which-key "Focus window right")
"w w" '(other-window :which-key "Focus other window") "w <up>" '(windmove-up :which-key "Focus window up")
"w q" '(delete-window :which-key "Close window") "w <down>" '(windmove-down :which-key "Focus window down")
"w <left>" '(evil-window-left :which-key "Focus window left") ;; winner-redo (built-in window history)
"w <right>" '(evil-window-right :which-key "Focus window down") ;; winner-undo
"w <up>" '(evil-window-up :which-key "Focus window up")
"w <down>" '(evil-window-down :which-key "Focus window right") "x" '(smex-major-mode-commands :which-key "Smex major mode")
))
"x" '(smex-major-mode-commands :which-key "Smex major mode")
))
#+END_SRC #+END_SRC
Source: Source:
https://github.com/redguardtoo/emacs.d/blob/master/lisp/init-evil.el#L712 https://github.com/redguardtoo/emacs.d/blob/master/lisp/init-evil.el#L712
https://github.com/suyashbire1/emacs.d/blob/master/init.el https://github.com/suyashbire1/emacs.d/blob/master/init.el
*** Major mode
#+BEGIN_SRC emacs-lisp
(general-create-definer comma-leader
:prefix "SPC ,"
:states '(normal visual))
(comma-leader elfeed-search-mode-map
"" '(:ignore t :which-key "elfeed")
"g" 'elfeed-search-update--force
"G" 'elfeed-search-fetch
)
(comma-leader elfeed-show-mode-map
"" '(:ignore t :which-key "elfeed")
"g" 'elfeed-show-refresh
)
#+END_SRC
* Notes * Notes
Org mode keybinds: Org mode keybinds:

Loading…
Cancel
Save