mirror of
http://github.com/JaeUs3792/dotfiles
synced 2025-12-14 08:01:35 +09:00
230507-2
This commit is contained in:
@ -39,5 +39,3 @@
|
||||
(custom-setup-fonts)
|
||||
(add-hook 'window-setup-hook #'custom-setup-fonts)
|
||||
(add-hook 'server-after-make-frame-hook #'centaur-setup-fonts)
|
||||
|
||||
|
||||
|
||||
@ -57,5 +57,7 @@ Otherwise the startup will be very slow. "
|
||||
(require 'init-base)
|
||||
|
||||
(require 'init-ui)
|
||||
(require 'init-edit)
|
||||
(require 'init-evil)
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; init.el ends here
|
||||
|
||||
131
.config/emacs/lisp/init-edit.el
Normal file
131
.config/emacs/lisp/init-edit.el
Normal file
@ -0,0 +1,131 @@
|
||||
;;; init-edit.el -*- lexical-binding: t -*-
|
||||
(require 'init-const)
|
||||
(require 'init-func)
|
||||
|
||||
(use-package autorevert
|
||||
:ensure nil
|
||||
:diminish
|
||||
:hook (after-init . global-auto-revert-mode))
|
||||
(use-package avy
|
||||
:hook (after-init . avy-setup-default)
|
||||
:config
|
||||
(setq avy-style 'pre
|
||||
avy-all-windows t
|
||||
avy-all-windows-alt nil
|
||||
avy-background t))
|
||||
;; Show number of matches in mode-line while searching
|
||||
(use-package anzu
|
||||
:diminish
|
||||
;;:bind (([remap query-replace] . anzu-query-replace)
|
||||
;; ([remap query-replace-regexp] . anzu-query-replace-regexp)
|
||||
;; :map isearch-mode-map
|
||||
;; ([remap isearch-query-replace] . anzu-isearch-query-replace)
|
||||
;; ([remap isearch-query-replace-regexp] . anzu-isearch-query-replace-regexp))
|
||||
:hook (after-init . global-anzu-mode))
|
||||
(use-package ialign)
|
||||
|
||||
|
||||
(use-package undo-tree
|
||||
:diminish
|
||||
:hook (after-init . global-undo-tree-mode)
|
||||
:custom
|
||||
(undo-tree-history-directory-alist
|
||||
`(("." . ,(expand-file-name (file-name-as-directory "undo-tree-hist")
|
||||
user-emacs-directory))))
|
||||
:config
|
||||
(setq undo-tree-visualizer-diff t
|
||||
undo-tree-visualizer-timestamps t
|
||||
undo-tree-auto-save-history t
|
||||
undo-tree-enable-undo-in-region t
|
||||
undo-limit (* 800 1024)
|
||||
undo-strong-limit (* 12 1024 1024)
|
||||
undo-outer-limit (* 128 1024 1024)))
|
||||
|
||||
(use-package hideshow
|
||||
:ensure nil
|
||||
:diminish hs-minor-mode
|
||||
;;:pretty-hydra
|
||||
;;((:title (pretty-hydra-title "HideShow" 'octicon "nf-oct-fold")
|
||||
;; :color amaranth :quit-key ("q" "C-g"))
|
||||
;; ("Fold"
|
||||
;; (("t" hs-toggle-all "toggle all")
|
||||
;; ("a" hs-show-all "show all")
|
||||
;; ("i" hs-hide-all "hide all")
|
||||
;; ("g" hs-toggle-hiding "toggle hiding")
|
||||
;; ("c" hs-cycle "cycle block")
|
||||
;; ("s" hs-show-block "show block")
|
||||
;; ("h" hs-hide-block "hide block")
|
||||
;; ("l" hs-hide-level "hide level"))
|
||||
;; "Move"
|
||||
;; (("C-a" mwim-beginning-of-code-or-line "⭰")
|
||||
;; ("C-e" mwim-end-of-code-or-line "⭲")
|
||||
;; ("C-b" backward-char "←")
|
||||
;; ("C-n" next-line "↓")
|
||||
;; ("C-p" previous-line "↑")
|
||||
;; ("C-f" forward-char "→")
|
||||
;; ("C-v" pager-page-down "↘")
|
||||
;; ("M-v" pager-page-up "↖")
|
||||
;; ("M-<" beginning-of-buffer "⭶")
|
||||
;; ("M->" end-of-buffer "⭸"))))
|
||||
;;:bind (:map hs-minor-mode-map
|
||||
;; ("C-~" . hideshow-hydra/body)
|
||||
;; ("C-S-<escape>" . hideshow-hydra/body))
|
||||
:hook (prog-mode . hs-minor-mode)
|
||||
:config
|
||||
;; More functions
|
||||
;; @see https://karthinks.com/software/simple-folding-with-hideshow/
|
||||
(defun hs-cycle (&optional level)
|
||||
(interactive "p")
|
||||
(let (message-log-max
|
||||
(inhibit-message t))
|
||||
(if (= level 1)
|
||||
(pcase last-command
|
||||
('hs-cycle
|
||||
(hs-hide-level 1)
|
||||
(setq this-command 'hs-cycle-children))
|
||||
('hs-cycle-children
|
||||
(save-excursion (hs-show-block))
|
||||
(setq this-command 'hs-cycle-subtree))
|
||||
('hs-cycle-subtree
|
||||
(hs-hide-block))
|
||||
(_
|
||||
(if (not (hs-already-hidden-p))
|
||||
(hs-hide-block)
|
||||
(hs-hide-level 1)
|
||||
(setq this-command 'hs-cycle-children))))
|
||||
(hs-hide-level level)
|
||||
(setq this-command 'hs-hide-level))))
|
||||
|
||||
(defun hs-toggle-all ()
|
||||
"Toggle hide/show all."
|
||||
(interactive)
|
||||
(pcase last-command
|
||||
('hs-toggle-all
|
||||
(save-excursion (hs-show-all))
|
||||
(setq this-command 'hs-global-show))
|
||||
(_ (hs-hide-all))))
|
||||
|
||||
;; Display line counts
|
||||
(defun hs-display-code-line-counts (ov)
|
||||
"Display line counts when hiding codes."
|
||||
(when (eq 'code (overlay-get ov 'hs))
|
||||
(overlay-put ov 'display
|
||||
(concat
|
||||
" "
|
||||
(propertize
|
||||
(if (char-displayable-p ?⏷) "⏷" "...")
|
||||
'face 'shadow)
|
||||
(propertize
|
||||
(format " (%d lines)"
|
||||
(count-lines (overlay-start ov)
|
||||
(overlay-end ov)))
|
||||
'face '(:inherit shadow :height 0.8))
|
||||
" "))))
|
||||
(setq hs-set-up-overlay #'hs-display-code-line-counts))
|
||||
|
||||
;; Hanlde minified code
|
||||
(use-package so-long
|
||||
:hook (after-init . global-so-long-mode))
|
||||
|
||||
(provide 'init-edit)
|
||||
;;; init-edit.el ends here.
|
||||
53
.config/emacs/lisp/init-evil.el
Normal file
53
.config/emacs/lisp/init-evil.el
Normal file
@ -0,0 +1,53 @@
|
||||
;;; init-evil.el -*- lexical-binding: t -*-
|
||||
(require 'init-const)
|
||||
(require 'init-func)
|
||||
|
||||
(use-package evil
|
||||
:ensure nil
|
||||
:diminish
|
||||
:hook (after-init . evil-mode)
|
||||
:init
|
||||
(setq evil-want-integration t
|
||||
evil-want-keybinding nil
|
||||
evil-want-C-u-scroll t
|
||||
evil-want-C-i-jump nil)
|
||||
;;(setq evil-respect-visual-line-mode nil) ; t : on the screen, nil : by cr characters
|
||||
(require 'evil-vars)
|
||||
(evil-set-undo-system 'undo-tree)
|
||||
;;(evil-set-undo-system 'undo-redo)
|
||||
|
||||
;; Make evil search more like vim (makes emacs slow)
|
||||
;;(evil-select-search-module 'evil-search-module 'evil-search)
|
||||
|
||||
:config
|
||||
(setq evil-want-fine-undo t) ; more granular undo with evil
|
||||
(evil-set-initial-state 'messages-buffer-mode 'normal)
|
||||
(evil-set-initial-state 'dashboard-mode 'normal)
|
||||
;; eshell no evil
|
||||
(dolist (mode '(eshell-mode))
|
||||
(add-to-list 'evil-emacs-state-modes mode)))
|
||||
|
||||
(use-package evil-collection
|
||||
:after evil
|
||||
:config
|
||||
(evil-collection-init))
|
||||
|
||||
(use-package evil-nerd-commenter
|
||||
:after evil
|
||||
:config
|
||||
;; evil nerd commenter
|
||||
(define-key evil-normal-state-map (kbd "g c") 'evilnc-comment-or-uncomment-lines)
|
||||
(define-key evil-visual-state-map (kbd "g c") 'evilnc-comment-or-uncomment-lines))
|
||||
|
||||
(use-package evil-numbers
|
||||
:after evil
|
||||
:config
|
||||
;; evil numbers
|
||||
;; unfortunately C-x is emacs common key binding.
|
||||
(define-key evil-normal-state-map (kbd "g =") 'evil-numbers/inc-at-pt)
|
||||
(define-key evil-normal-state-map (kbd "g -") 'evil-numbers/dec-at-pt)
|
||||
(define-key evil-visual-state-map (kbd "g =") 'evil-numbers/inc-at-pt)
|
||||
(define-key evil-visual-state-map (kbd "g -") 'evil-numbers/dec-at-pt))
|
||||
|
||||
(provide 'init-evil)
|
||||
;;; init-evil.el ends here.
|
||||
@ -4,6 +4,12 @@
|
||||
|
||||
(defun font-installed-p (font-name)
|
||||
(find-font (font-spec :name font-name)))
|
||||
(defun too-long-file-p ()
|
||||
"Check whether the file is too long."
|
||||
(if (fboundp 'buffer-line-statistics)
|
||||
(> (car (buffer-line-statistics)) 10000)
|
||||
(> (buffer-size) 100000)))
|
||||
|
||||
|
||||
(provide 'init-func)
|
||||
;;; init-func.el ends here
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
;; init-ui.el -*- lexical-binding: t -*-
|
||||
;;; init-ui.el -*- lexical-binding: t -*-
|
||||
(require 'init-const)
|
||||
(require 'init-func)
|
||||
|
||||
@ -38,6 +38,88 @@
|
||||
doom-modeline-persp-icon t
|
||||
doom-modeline-display-default-persp-name t
|
||||
doom-modeline-indent-info t))
|
||||
(use-package hide-mode-line
|
||||
:hook (((completion-list-mode
|
||||
completion-in-region-mode
|
||||
eshell-mode shell-mode
|
||||
term-mode vterm-mode
|
||||
treemacs-mode
|
||||
lsp-ui-imenu-mode
|
||||
pdf-annot-list-mode) . hide-mode-line-mode)))
|
||||
|
||||
;; A minor-mode menu for mode-line
|
||||
(use-package minions
|
||||
:hook (doom-modeline-mode . minions-mode))
|
||||
|
||||
;; Icons
|
||||
(use-package nerd-icons)
|
||||
|
||||
(use-package display-line-numbers
|
||||
:ensure nil
|
||||
:hook ((prog-mode yaml-mode conf-mode) . display-line-numbers-mode)
|
||||
:init (setq display-line-numbers-width-start t))
|
||||
|
||||
;; Suppress GUI features
|
||||
(setq use-file-dialog nil
|
||||
use-dialog-box nil
|
||||
inhibit-startup-screen nil
|
||||
inhibit-startup-echo-area-message user-login-name
|
||||
inhibit-default-init t
|
||||
initial-scratch-message nil)
|
||||
(unless (daemonp)
|
||||
(advice-add #'display-startup-echo-area-message :override #'ignore))
|
||||
|
||||
;; Display dividers between windows
|
||||
(setq window-divider-default-places t
|
||||
window-divider-default-bottom-width 1
|
||||
window-divider-default-right-width 1)
|
||||
(add-hook 'window-setup-hook #'window-divider-mode)
|
||||
|
||||
(use-package time
|
||||
:ensure nil
|
||||
:init (setq display-time-24hr-format t
|
||||
display-time-day-and-date t))
|
||||
|
||||
;; Mouse & Smooth Scroll
|
||||
;; Scroll one line at a time (less "jumpy" than defaults)
|
||||
(when (display-graphic-p)
|
||||
(setq mouse-wheel-scroll-amount '(1 ((shift) . hscroll))
|
||||
mouse-wheel-scroll-amount-horizontal 1
|
||||
mouse-wheel-progressive-speed nil))
|
||||
(setq scroll-step 1
|
||||
scroll-margin 0
|
||||
scroll-conservatively 100000
|
||||
auto-window-vscroll nil
|
||||
scroll-preserve-screen-position t)
|
||||
|
||||
;; Good pixel line scrolling
|
||||
(if (fboundp 'pixel-scroll-precision-mode)
|
||||
(pixel-scroll-precision-mode t)
|
||||
(when (and emacs/>=27p (not sys/macp))
|
||||
(use-package good-scroll
|
||||
:diminish
|
||||
:hook (after-init . good-scroll-mode)
|
||||
:bind (([remap next] . good-scroll-up-full-screen)
|
||||
([remap prior] . good-scroll-down-full-screen)))))
|
||||
|
||||
;; Smooth scrolling over images
|
||||
(use-package iscroll
|
||||
:diminish
|
||||
:hook (image-mode . iscroll-mode))
|
||||
|
||||
;; Use fixed pitch where it's sensible
|
||||
(use-package mixed-pitch
|
||||
:diminish)
|
||||
|
||||
;; Display ugly ^L page breaks as tidy horizontal lines
|
||||
(use-package page-break-lines
|
||||
:diminish
|
||||
:hook (after-init . global-page-break-lines-mode)
|
||||
:config ;; display only half fix.
|
||||
(set-fontset-font "fontset-default"
|
||||
(cons page-break-lines-char page-break-lines-char)
|
||||
(face-attribute 'default :family)))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1
.config/emacs/transient/history.el
Normal file
1
.config/emacs/transient/history.el
Normal file
@ -0,0 +1 @@
|
||||
nil
|
||||
Reference in New Issue
Block a user