From d6cb136bbb4dee07b30ed4e8aae4c74bb7bcc1a2 Mon Sep 17 00:00:00 2001 From: rearman Date: Fri, 19 Sep 2025 09:15:43 -0400 Subject: [PATCH] Change meta for region handling, other UI changes Disable delete-selection-mode, set up some point/mark swapping when not in transient-mark-mode. Also set up binding for delete-pair, and disable delay for the same. Re-disable next-line-add-newlines, reset fill-column to default 70, and let emacs choose the cursor-in-non-selected-windows. --- init.el | 9 ++++----- re/re-bindings.el | 4 ++++ re/re-editing-defuns.el | 8 ++++++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/init.el b/init.el index 85b6c62..bd4e7f8 100644 --- a/init.el +++ b/init.el @@ -28,19 +28,18 @@ (add-hook 'c-mode-hook (lambda () (require 're-c-style))) (setq-default indicate-empty-lines t - next-line-add-newlines t - fill-column 80 - cursor-in-non-selected-windows 'hollow mouse-prefer-closest-glyph t) (blink-cursor-mode -1) (column-number-mode t) (size-indication-mode t) -(setq delete-by-moving-to-trash t) +(setq delete-by-moving-to-trash t + delete-pair-blink-delay 0 + delete-active-region nil) ;; Buffer dealiŋ -(delete-selection-mode t) +;; (delete-selection-mode t) (global-acme-mouse-mode t) (setq disabled-command-function nil diff --git a/re/re-bindings.el b/re/re-bindings.el index 940f79d..a11c6e9 100644 --- a/re/re-bindings.el +++ b/re/re-bindings.el @@ -16,6 +16,7 @@ (keymap-global-set "C-u" (lambda () (interactive) (kill-line 0))) ; kill-line backwards (keymap-global-set "C-S-U" #'universal-argument) ; C-u used above (keymap-set key-translation-map "C-h" "") ; Rather F1 for help, also C-S-H works +(keymap-global-set "C-S-d" #'delete-pair) (keymap-global-set "C-o" #'re/open-line-below) (keymap-global-set "M-o" #'re/open-line-above) (keymap-global-set "M-j" (lambda () (interactive) (join-line 0))) ; join-line other way @@ -26,6 +27,9 @@ (keymap-global-set " " #'downcase-dwim) ; M-l (keymap-global-set " " #'upcase-dwim) ; M-u (keymap-global-set " " #'re/keyboard-quit) ; C-g works better +(keymap-global-set "C-'" #'re/push-mark-no-activate) +(keymap-global-set "M-'" #'re/jump-to-mark) +(keymap-global-set " " #'re/exchange-point-and-mark-maybe-activate) ;; Wayfindiŋ (keymap-global-set "" #'beginning-of-buffer) diff --git a/re/re-editing-defuns.el b/re/re-editing-defuns.el index 1aa3557..f8b68d7 100644 --- a/re/re-editing-defuns.el +++ b/re/re-editing-defuns.el @@ -160,6 +160,14 @@ Taken from https://www.masteringemacs.org/article/fixing-mark-commands-transient (interactive) (set-mark-command 1)) +(defun re/exchange-point-and-mark-maybe-activate () + "Call `exchange-point-and-mark' but don't activate the region. +Stolen from https://www.masteringemacs.org/article/fixing-mark-commands-transient-mark-mode" + (interactive) + (if (use-region-p) + (exchange-point-and-mark) + (exchange-point-and-mark t))) + (defun re/keyboard-quit () "Smarter version of `keyboard-quit'. Close the minibuffer if not focused when hit. -- 2.39.5