Update
This commit is contained in:
9
init.el
9
init.el
@@ -1,13 +1,20 @@
|
|||||||
;; -*- lexical-binding: t -*-
|
;; -*- lexical-binding: t -*-
|
||||||
|
|
||||||
(require 'init-better-default)
|
(require 'init-better-default)
|
||||||
|
|
||||||
|
(require 'init-hydra)
|
||||||
|
|
||||||
(require 'init-utils)
|
(require 'init-utils)
|
||||||
(require 'init-completion)
|
(require 'init-completion)
|
||||||
;; (require 'init-meow)
|
|
||||||
(require 'init-edit)
|
(require 'init-edit)
|
||||||
|
(require 'init-window)
|
||||||
(require 'init-ui)
|
(require 'init-ui)
|
||||||
|
|
||||||
|
;; (require 'init-meow)
|
||||||
(require 'init-bindings)
|
(require 'init-bindings)
|
||||||
|
|
||||||
|
|
||||||
(require 'init-workspace)
|
(require 'init-workspace)
|
||||||
(require 'init-dired)
|
(require 'init-dired)
|
||||||
;; (require 'init-treemacs)
|
;; (require 'init-treemacs)
|
||||||
|
|||||||
@@ -6,13 +6,9 @@
|
|||||||
;; :config
|
;; :config
|
||||||
;; (require 'smartparens-config))
|
;; (require 'smartparens-config))
|
||||||
|
|
||||||
|
(setq electric-pair-inhibit-predicate 'electric-pair-conservative-inhibit)
|
||||||
(electric-pair-mode t)
|
(electric-pair-mode t)
|
||||||
|
|
||||||
(use-package ace-window
|
|
||||||
:hook (ace-window-mode . ace-window-posframe-mode)
|
|
||||||
:bind ("M-o" . ace-window))
|
|
||||||
|
|
||||||
;; Yasnippet settings
|
;; Yasnippet settings
|
||||||
(use-package yasnippet
|
(use-package yasnippet
|
||||||
:ensure t
|
:ensure t
|
||||||
@@ -39,5 +35,45 @@
|
|||||||
(setq-default abbrev-mode t)
|
(setq-default abbrev-mode t)
|
||||||
(setq abbrev-file-name (expand-file-name "abbrev.el" user-emacs-directory))
|
(setq abbrev-file-name (expand-file-name "abbrev.el" user-emacs-directory))
|
||||||
|
|
||||||
|
(use-package autorevert
|
||||||
|
:ensure nil
|
||||||
|
:diminish
|
||||||
|
:hook (after-init . global-auto-revert-mode))
|
||||||
|
|
||||||
|
(use-package multiple-cursors
|
||||||
|
:hook elpaca-after-init
|
||||||
|
:bind (("C-c m" . multiple-cursors-hydra/body)
|
||||||
|
("C-S-c C-S-c" . mc/edit-lines)
|
||||||
|
("C->" . mc/mark-next-like-this)
|
||||||
|
("C-<" . mc/mark-previous-like-this)
|
||||||
|
("C-c C-<" . mc/mark-all-like-this)
|
||||||
|
("C-M->" . mc/skip-to-next-like-this)
|
||||||
|
("C-M-<" . mc/skip-to-previous-like-this)
|
||||||
|
("s-<mouse-1>" . mc/add-cursor-on-click)
|
||||||
|
("C-S-<mouse-1>" . mc/add-cursor-on-click)
|
||||||
|
:map mc/keymap
|
||||||
|
("C-|" . mc/vertical-align-with-space))
|
||||||
|
:pretty-hydra
|
||||||
|
((:color amaranth :quit-key ("q" "C-g"))
|
||||||
|
("Up"
|
||||||
|
(("p" mc/mark-previous-like-this "prev")
|
||||||
|
("P" mc/skip-to-previous-like-this "skip")
|
||||||
|
("M-p" mc/unmark-previous-like-this "unmark")
|
||||||
|
("|" mc/vertical-align "align with input CHAR"))
|
||||||
|
"Down"
|
||||||
|
(("n" mc/mark-next-like-this "next")
|
||||||
|
("N" mc/skip-to-next-like-this "skip")
|
||||||
|
("M-n" mc/unmark-next-like-this "unmark"))
|
||||||
|
"Misc"
|
||||||
|
(("l" mc/edit-lines "edit lines" :exit t)
|
||||||
|
("a" mc/mark-all-like-this "mark all" :exit t)
|
||||||
|
("s" mc/mark-all-in-region-regexp "search" :exit t)
|
||||||
|
("<mouse-1>" mc/add-cursor-on-click "click"))
|
||||||
|
"% 2(mc/num-cursors) cursor%s(if (> (mc/num-cursors) 1) \"s\" \"\")"
|
||||||
|
(("0" mc/insert-numbers "insert numbers" :exit t)
|
||||||
|
("A" mc/insert-letters "insert letters" :exit t)))))
|
||||||
|
|
||||||
|
(use-package smart-region
|
||||||
|
:hook (after-init . smart-region-on))
|
||||||
|
|
||||||
(provide 'init-edit)
|
(provide 'init-edit)
|
||||||
|
|||||||
6
lisp/init-god.el
Normal file
6
lisp/init-god.el
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(use-package god-mode
|
||||||
|
:bind ("<escape>" . god-local-mode))
|
||||||
|
|
||||||
|
(provide 'init-god)
|
||||||
54
lisp/init-hydra.el
Normal file
54
lisp/init-hydra.el
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(use-package hydra
|
||||||
|
:hook ((emacs-lisp-mode . hydra-add-imenu)))
|
||||||
|
|
||||||
|
(use-package pretty-hydra
|
||||||
|
:ensure (:wait t)
|
||||||
|
:hook (emacs-lisp-mode . (lambda ()
|
||||||
|
(add-to-list
|
||||||
|
'imenu-generic-expression
|
||||||
|
'("Hydras"
|
||||||
|
"^.*(\\(pretty-hydra-define\\) \\([a-zA-Z-]+\\)"
|
||||||
|
2))))
|
||||||
|
:bind ("<f6>" . toggle-hydras/body)
|
||||||
|
:init
|
||||||
|
(with-no-warnings
|
||||||
|
(pretty-hydra-define toggle-hydras (:color amaranth :quit-key ("q" "C-g"))
|
||||||
|
("Basic"
|
||||||
|
(("n" (cond ((fboundp 'display-line-numbers-mode)
|
||||||
|
(display-line-numbers-mode (if display-line-numbers-mode -1 1)))
|
||||||
|
((fboundp 'gblobal-linum-mode)
|
||||||
|
(global-linum-mode (if global-linum-mode -1 1))))
|
||||||
|
"line number"
|
||||||
|
:toggle (or (bound-and-true-p display-line-numbers-mode)
|
||||||
|
(bound-and-true-p global-linum-mode)))
|
||||||
|
("e" electric-pair-mode "electric pair" :toggle t)
|
||||||
|
("c" flyspell-mode "spell check" :toggle t)
|
||||||
|
("s" prettify-symbols-mode "pretty symbol" :toggle t)
|
||||||
|
("l" global-page-break-lines-mode "page break lines" :toggle t)
|
||||||
|
("b" display-battery-mode "battery" :toggle t)
|
||||||
|
("i" display-time-mode "time" :toggle t)
|
||||||
|
("m" doom-modeline-mode "modern mode-line" :toggle t))
|
||||||
|
"Highlight"
|
||||||
|
(("h l" global-hl-line-mode "line" :toggle t)
|
||||||
|
("h p" show-paren-mode "paren" :toggle t)
|
||||||
|
("h w" (setq-default show-trailing-whitespace (not show-trailing-whitespace))
|
||||||
|
"whitespace" :toggle show-trailing-whitespace)
|
||||||
|
("h d" rainbow-delimiters-mode "delimiter" :toggle t)
|
||||||
|
("h t" global-hl-todo-mode "todo" :toggle t))
|
||||||
|
"Program"
|
||||||
|
(("f" flymake-mode "flymake" :toggle t)
|
||||||
|
("O" hs-minor-mode "hideshow" :toggle t)
|
||||||
|
("u" subword-mode "subword" :toggle t)
|
||||||
|
("W" which-function-mode "which function" :toggle t)
|
||||||
|
("E" toggle-debug-on-error "debug on error" :toggle (default-value 'debug-on-error))
|
||||||
|
("Q" toggle-debug-on-quit "debug on quit" :toggle (default-value 'debug-on-quit))
|
||||||
|
("v" global-diff-hl-mode "gutter" :toggle t)
|
||||||
|
("V" diff-hl-flydiff-mode "live gutter" :toggle t)
|
||||||
|
("M" diff-hl-margin-mode "margin gutter" :toggle t)
|
||||||
|
("D" diff-hl-dired-mode "dired gutter" :toggle t))
|
||||||
|
))))
|
||||||
|
|
||||||
|
(provide 'init-hydra)
|
||||||
|
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
|
;;; init-lsp ---
|
||||||
|
;;; Commentary:
|
||||||
;; -*- lexical-binding: t; -*-
|
;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
(use-package flymake)
|
(use-package flymake
|
||||||
|
:hook (prog-mode . flymake-mode))
|
||||||
(use-package jsonrpc)
|
(use-package jsonrpc)
|
||||||
|
|
||||||
(use-package eglot
|
(use-package eglot
|
||||||
|
|||||||
@@ -11,7 +11,75 @@
|
|||||||
:branch "dev")
|
:branch "dev")
|
||||||
:hook (org-mode . org-indent-mode)
|
:hook (org-mode . org-indent-mode)
|
||||||
:hook (org-mode . org-cdlatex-mode)
|
:hook (org-mode . org-cdlatex-mode)
|
||||||
|
|
||||||
|
:pretty-hydra
|
||||||
|
;; See `org-structure-template-alist'
|
||||||
|
((:color blue :quit-key ("q" "C-g"))
|
||||||
|
("Basic"
|
||||||
|
(("a" (hot-expand "<a") "ascii")
|
||||||
|
("c" (hot-expand "<c") "center")
|
||||||
|
("C" (hot-expand "<C") "comment")
|
||||||
|
("x" (hot-expand "<e") "example")
|
||||||
|
("E" (hot-expand "<E") "export")
|
||||||
|
("h" (hot-expand "<h") "html")
|
||||||
|
("l" (hot-expand "<l") "latex")
|
||||||
|
("n" (hot-expand "<n") "note")
|
||||||
|
("o" (hot-expand "<q") "quote")
|
||||||
|
("v" (hot-expand "<v") "verse"))
|
||||||
|
"Head"
|
||||||
|
(("i" (hot-expand "<i") "index")
|
||||||
|
("A" (hot-expand "<A") "ASCII")
|
||||||
|
("I" (hot-expand "<I") "INCLUDE")
|
||||||
|
("H" (hot-expand "<H") "HTML")
|
||||||
|
("L" (hot-expand "<L") "LaTeX"))
|
||||||
|
"Source"
|
||||||
|
(("s" (hot-expand "<s") "src")
|
||||||
|
("e" (hot-expand "<s" "emacs-lisp") "emacs-lisp")
|
||||||
|
("y" (hot-expand "<s" "python :results output") "python")
|
||||||
|
("p" (hot-expand "<s" "perl") "perl")
|
||||||
|
("w" (hot-expand "<s" "powershell") "powershell")
|
||||||
|
("r" (hot-expand "<s" "ruby") "ruby")
|
||||||
|
("S" (hot-expand "<s" "sh") "sh")
|
||||||
|
("g" (hot-expand "<s" "go :imports '\(\"fmt\"\)") "golang"))
|
||||||
|
"Misc"
|
||||||
|
(("m" (hot-expand "<s" "mermaid :file chart.png") "mermaid")
|
||||||
|
("u" (hot-expand "<s" "plantuml :file chart.png") "plantuml")
|
||||||
|
("Y" (hot-expand "<s" "ipython :session :exports both :results raw drawer\n$0") "ipython")
|
||||||
|
("P" (progn
|
||||||
|
(insert "#+HEADERS: :results output :exports both :shebang \"#!/usr/bin/env perl\"\n")
|
||||||
|
(hot-expand "<s" "perl")) "Perl tangled")
|
||||||
|
("<" self-insert-command "ins"))))
|
||||||
|
:bind (:map org-mode-map
|
||||||
|
("<" . (lambda ()
|
||||||
|
"Insert org template."
|
||||||
|
(interactive)
|
||||||
|
(if (or (region-active-p) (looking-back "^\s*" 1))
|
||||||
|
(org-hydra/body)
|
||||||
|
(self-insert-command 1)))))
|
||||||
:config
|
:config
|
||||||
|
;; For hydra
|
||||||
|
(defun hot-expand (str &optional mod)
|
||||||
|
"Expand org template.
|
||||||
|
|
||||||
|
STR is a structure template string recognised by org like <s. MOD is a
|
||||||
|
string with additional parameters to add the begin line of the
|
||||||
|
structure element. HEADER string includes more parameters that are
|
||||||
|
prepended to the element after the #+HEADER: tag."
|
||||||
|
(let (text)
|
||||||
|
(when (region-active-p)
|
||||||
|
(setq text (buffer-substring (region-beginning) (region-end)))
|
||||||
|
(delete-region (region-beginning) (region-end)))
|
||||||
|
(insert str)
|
||||||
|
(if (fboundp 'org-try-structure-completion)
|
||||||
|
(org-try-structure-completion) ; < org 9
|
||||||
|
(progn
|
||||||
|
;; New template expansion since org 9
|
||||||
|
(require 'org-tempo nil t)
|
||||||
|
(org-tempo-complete-tag)))
|
||||||
|
(when mod (insert mod) (forward-line))
|
||||||
|
(when text (insert text))))
|
||||||
|
|
||||||
|
|
||||||
;; (org-capture-init)
|
;; (org-capture-init)
|
||||||
(add-to-list 'org-modules 'org-habit)
|
(add-to-list 'org-modules 'org-habit)
|
||||||
(setq org-directory "~/org/")
|
(setq org-directory "~/org/")
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
;; -*- lexical-binding: t -*-
|
;; -*- lexical-binding: t -*-
|
||||||
|
|
||||||
(setq idle-update-delay 1.0)
|
;; (setq idle-update-delay 1.0)
|
||||||
|
|
||||||
(setq-default cursor-in-non-selected-windows nil)
|
(setq-default cursor-in-non-selected-windows nil)
|
||||||
(setq highlight-nonselected-windows nil)
|
(setq highlight-nonselected-windows nil)
|
||||||
@@ -73,9 +73,6 @@
|
|||||||
(use-package default-text-scale
|
(use-package default-text-scale
|
||||||
:hook (elpaca-after-init . default-text-scale-mode)
|
:hook (elpaca-after-init . default-text-scale-mode)
|
||||||
:bind (:map default-text-scale-mode-map
|
:bind (:map default-text-scale-mode-map
|
||||||
("s-=" . default-text-scale-increase)
|
|
||||||
("s--" . default-text-scale-decrease)
|
|
||||||
("s-0" . default-text-scale-reset)
|
|
||||||
("C-s-=" . default-text-scale-increase)
|
("C-s-=" . default-text-scale-increase)
|
||||||
("C-s--" . default-text-scale-decrease)
|
("C-s--" . default-text-scale-decrease)
|
||||||
("C-s-0" . default-text-scale-reset)))
|
("C-s-0" . default-text-scale-reset)))
|
||||||
|
|||||||
59
lisp/init-window.el
Normal file
59
lisp/init-window.el
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
;; -*- lexical-binding: t; -*-
|
||||||
|
;; Restore old window configurations
|
||||||
|
|
||||||
|
(use-package winner
|
||||||
|
:ensure nil
|
||||||
|
:commands (winner-undo winner-redo)
|
||||||
|
:hook elpaca-after-init
|
||||||
|
:init (setq winner-boring-buffers '("*Completions*"
|
||||||
|
"*Compile-Log*"
|
||||||
|
"*inferior-lisp*"
|
||||||
|
"*Fuzzy Completions*"
|
||||||
|
"*Apropos*"
|
||||||
|
"*Help*"
|
||||||
|
"*cvs*"
|
||||||
|
"*Buffer List*"
|
||||||
|
"*Ibuffer*"
|
||||||
|
"*esh command on file*")))
|
||||||
|
|
||||||
|
(use-package ace-window
|
||||||
|
:hook (emacs-startup . ace-window-display-mode)
|
||||||
|
:bind (([remap other-window] . ace-window)
|
||||||
|
("C-c C-w" . ace-window-hydra/body))
|
||||||
|
:pretty-hydra
|
||||||
|
(
|
||||||
|
;; (:title (pretty-hydra-title "Window Management" 'faicon "nf-fa-th")
|
||||||
|
;; :foreign-keys warn :quit-key ("q" "C-g"))
|
||||||
|
("Actions"
|
||||||
|
(("TAB" other-window "switch")
|
||||||
|
("x" ace-delete-window "delete")
|
||||||
|
("X" ace-delete-other-windows "delete other" :exit t)
|
||||||
|
("s" ace-swap-window "swap")
|
||||||
|
("a" ace-select-window "select" :exit t)
|
||||||
|
("m" toggle-frame-maximized "maximize" :exit t)
|
||||||
|
("u" toggle-frame-fullscreen "fullscreen" :exit t))
|
||||||
|
"Resize"
|
||||||
|
(("h" shrink-window-horizontally "←")
|
||||||
|
("j" enlarge-window "↓")
|
||||||
|
("k" shrink-window "↑")
|
||||||
|
("l" enlarge-window-horizontally "→")
|
||||||
|
("n" balance-windows "balance"))
|
||||||
|
"Split"
|
||||||
|
(("r" split-window-right "horizontally")
|
||||||
|
("R" split-window-horizontally-instead "horizontally instead")
|
||||||
|
("v" split-window-below "vertically")
|
||||||
|
("V" split-window-vertically-instead "vertically instead")
|
||||||
|
("t" toggle-window-split "toggle"))
|
||||||
|
"Zoom"
|
||||||
|
(("+" text-scale-increase "in")
|
||||||
|
("=" text-scale-increase "in")
|
||||||
|
("-" text-scale-decrease "out")
|
||||||
|
("0" (text-scale-increase 0) "reset"))
|
||||||
|
"Misc"
|
||||||
|
(("o" set-frame-font "frame font")
|
||||||
|
("f" make-frame-command "new frame")
|
||||||
|
("d" delete-frame "delete frame")
|
||||||
|
("<left>" winner-undo "winner undo")
|
||||||
|
("<right>" winner-redo "winner redo")))))
|
||||||
|
|
||||||
|
(provide 'init-window)
|
||||||
6
snippets/emacs-lisp-mode/provide
Normal file
6
snippets/emacs-lisp-mode/provide
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: provide
|
||||||
|
# key: provide
|
||||||
|
# --
|
||||||
|
|
||||||
|
(provide '${1:`(file-name-base (or (buffer-file-name) ""))`})$0
|
||||||
Reference in New Issue
Block a user