Files
creature/lisp/init-keybindings.el
T
zedhugh 52f3c3ee66 use "creature/pkg-active" manage packages manually
- replace "add-pkg-in-pkg-dir" (recursive load-path scanning) with a
  central "creature/pkgs" registry that handles load path, autoloads,
  info dirs and dependencies
- adapt all init-*.el files to the new activation function
- add a top-level Makefile to byte-compile site-lisp packages
- remove unused "emacs-kv" and "emacs-db" submodules
2026-09-14 14:45:56 +08:00

146 lines
3.5 KiB
EmacsLisp

;; -*- coding: utf-8; lexical-binding: t; -*-
(require 'init-package)
(creature/pkg-active 'expand-region)
(creature/pkg-active 'rg)
(creature/pkg-active 'avy)
(creature/pkg-active 'mwim)
(creature/pkg-active 'symbol-overlay)
(creature/pkg-active 'lazy-load)
(defconst creature/prefix-key "M-m"
"Prefix key for custom keybindings.")
(define-prefix-command 'creature/map)
(global-set-key (kbd creature/prefix-key) 'creature/map)
(global-set-key (kbd "C-c '") (kbd "`"))
;;; expand-region
(lazy-load-local-keys
'(("v" . er/expand-region))
creature/map "expand-region")
;;; rg
(lazy-load-global-keys
'(("C-c s" . rg-menu))
"rg")
;;; avy
(lazy-load-local-keys
'(("jl" . avy-goto-line)
("jw" . avy-goto-word-1))
creature/map "avy")
;;; mwim
(lazy-load-global-keys
'(("C-a" . mwim-beginning-of-code-or-line)
("C-e" . mwim-end-of-code-or-line))
"mwim")
;;; symbol-overlay
;; "i" -> symbol-overlay-put
;; "n" -> symbol-overlay-jump-next
;; "p" -> symbol-overlay-jump-prev
;; "w" -> symbol-overlay-save-symbol
;; "t" -> symbol-overlay-toggle-in-scope
;; "e" -> symbol-overlay-echo-mark
;; "d" -> symbol-overlay-jump-to-definition
;; "s" -> symbol-overlay-isearch-literally
;; "q" -> symbol-overlay-query-replace
;; "r" -> symbol-overlay-rename
(lazy-load-global-keys
'(("s-i" . symbol-overlay-put)
("M-p" . symbol-overlay-jump-prev)
("M-n" . symbol-overlay-jump-next))
"symbol-overlay")
(require 'init-func)
(lazy-load-set-keys
'(("C-x k" . creature/kill-this-buffer)
("C-x K" . kill-buffer)
("C-M-\\" . creature/indent-region-or-buffer)
("DEL" . backward-delete-char-untabify)))
(setq backward-delete-char-untabify-method 'hungry)
;;; completion-in-region-mode
(lazy-load-unset-keys
'([M-up] [M-down])
completion-in-region-mode-map)
(lazy-load-set-keys
'(("M-n" . minibuffer-next-completion)
("M-p" . minibuffer-previous-completion))
completion-in-region-mode-map)
(lazy-load-set-keys
'(("bb" . switch-to-buffer)
("bd" . kill-current-buffer)
("be" . eval-buffer)
("fi" . creature/open-init-file)
("fm" . creature/mpv)
("fo" . creature/open-file-or-directory-in-external-app)
("fj" . dired-jump)
("ff" . find-file)
("fp" . find-file-at-point)
("fs" . save-buffer)
("hf" . describe-function)
("hF" . describe-face)
("hv" . describe-variable)
("hk" . describe-key)
("ho" . describe-symbol)
("hp" . describe-package)
("qk" . save-buffers-kill-emacs)
("qq" . save-buffers-kill-terminal)
("w" . creature/transient-window)
("SPC" . execute-extended-command))
creature/map)
(require 'transient)
(transient-define-prefix creature/transient-window ()
"Show menu buffer for window operations."
:transient-suffix 'transient--do-stay
:transient-non-suffix 'transient--do-exit
[["Jump"
("d" "Window down" windmove-down)
("u" "Window up" windmove-up)
("l" "Window left" windmove-left)
("r" "Window right" windmove-right)
("p" "Window Previous" (lambda ()
(interactive)
(other-window -1))
)
("n" "Window next" other-window)]
["Size reset"
("{" "Height shrink" shrink-window)
("}" "Height enlarge" enlarge-window)
("[" "Width shrink" shrink-window-horizontally)
("]" "Width enlarge" enlarge-window-horizontally)
("=" "Banlance" balance-windows :transient nil)]
["Operation"
("-" "Split below" split-window-below)
("/" "Split right" split-window-right)
("m" "Delete Others" delete-other-windows :transient nil)
("k" "Delete window" delete-window)
]])
(provide 'init-keybindings)