dotfiles/emacs.d/keybinds.el

47 lines
1.3 KiB
EmacsLisp
Raw Normal View History

;; move through windows (aka "panes") with C-arrowkeys
(windmove-default-keybindings 'control)
;; use "normal" (aka. non-default-emacs, or what most other apps do)
;; key bindings for C-z, C-x, C-c and C-v. C-x and C-c only do cut/copy
;; when a region is selected.
(cua-mode)
;; alternative key binding handler for C-g which does the following:
;; - if a region is active, disable it
;; - when the completions buffer is selected, close it
;; - if the minibuffer is open but not focused, close it
;; - otherwise, run keyboard-quit
2024-12-03 21:34:58 -05:00
(defun gered/keyboard-quit-dwim ()
(interactive)
(cond
((region-active-p)
(keyboard-quit))
((derived-mode-p 'completion-list-mode)
(delete-completion-window))
((> (minibuffer-depth) 0)
(abort-recursive-edit))
(t
(keyboard-quit))))
2024-12-03 22:23:50 -05:00
(global-set-key (kbd "C-g") #'gered/keyboard-quit-dwim)
2024-12-03 22:23:50 -05:00
(define-key emacs-lisp-mode-map (kbd "C-x C-S-E") #'eval-buffer)
(global-set-key (kbd "C-c w") #'whitespace-mode)
(defun gered/enable-and-open-menu-bar ()
(interactive)
(menu-bar-mode t)
(menu-bar-open))
(global-set-key (kbd "<f10>") #'gered/enable-and-open-menu-bar)
(global-set-key (kbd "M-<f10>") #'menu-bar-mode)
(global-set-key (kbd "C-x C-k") #'kill-this-buffer)
(global-set-key (kbd "C-SPC") #'completion-at-point)
2024-12-19 17:17:42 -05:00
(global-set-key (kbd "C-c C-b C-c") #'compile)
(global-set-key (kbd "C-c C-b C-d") #'gdb)