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)
|
(custom-setup-fonts)
|
||||||
(add-hook 'window-setup-hook #'custom-setup-fonts)
|
(add-hook 'window-setup-hook #'custom-setup-fonts)
|
||||||
(add-hook 'server-after-make-frame-hook #'centaur-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-base)
|
||||||
|
|
||||||
(require 'init-ui)
|
(require 'init-ui)
|
||||||
|
(require 'init-edit)
|
||||||
|
(require 'init-evil)
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;;; init.el ends here
|
;;; 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)
|
(defun font-installed-p (font-name)
|
||||||
(find-font (font-spec :name 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)
|
(provide 'init-func)
|
||||||
;;; init-func.el ends here
|
;;; 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-const)
|
||||||
(require 'init-func)
|
(require 'init-func)
|
||||||
|
|
||||||
@ -38,6 +38,88 @@
|
|||||||
doom-modeline-persp-icon t
|
doom-modeline-persp-icon t
|
||||||
doom-modeline-display-default-persp-name t
|
doom-modeline-display-default-persp-name t
|
||||||
doom-modeline-indent-info 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