]> git.earman.xyz Git - emacsinit.git/commitdiff
Add defuns and bindings for mark & jump without region activating
authorrearman <rearman@r717.net>
Fri, 16 May 2025 21:06:17 +0000 (17:06 -0400)
committerrearman <rearman@r717.net>
Fri, 16 May 2025 21:06:17 +0000 (17:06 -0400)
re/re-bindings.el
re/re-editing-defuns.el

index 95b8150142a6cbf2ca77c491c9575b95996174f7..d92708e8463fa9b44142e1dec4a41d7f4d5a3f3f 100644 (file)
@@ -33,7 +33,7 @@
 (keymap-global-set "M-p" #'previous-buffer)
 (keymap-global-set "C-." #'next-buffer)
 (keymap-global-set "C-," #'previous-buffer)
-(keymap-global-set "C-^" (lambda () (interactive) (switch-to-buffer nil)))
+(keymap-global-set "C-^" (lambda () (interactive) (switch-to-buffer nil))) ; toggle last two buffers
 (keymap-global-set "<mouse-4>" #'previous-buffer) ; Back button
 (keymap-global-set "C-M-o" #'re/other-window-or-split-window)
 (keymap-global-set "<remap> <move-beginning-of-line>" #'re/smart-beginning-of-line)
@@ -41,6 +41,8 @@
 (keymap-set visual-line-mode-map "C-a" #'re/smart-beginning-of-line)
 (keymap-set visual-line-mode-map "C-e" #'re/smart-end-of-line)
 (keymap-global-set "<remap> <goto-line>" #'re/goto-line)
+(keymap-global-set "C-`" #'re/push-mark-no-activate)
+(keymap-global-set "M-`" #'re/jump-to-mark)
 
 ;; Seeking
 (keymap-global-set "M-s ." #'isearch-forward-thing-at-point)
index fbdaa75732ec7f8de91b405240876dcbd52542c4..51acb1e816a7efdf80ab8d45447944ecc1cbfe49 100644 (file)
@@ -145,5 +145,20 @@ If in org-mode, call `org-end-of-line' first."
   (save-some-buffers t)
   (kill-emacs nil t))
 
+ (defun re/push-mark-no-activate ()
+   "Pushes `point' to `mark-ring' and does not activate the region.
+Equivalent to \\[set-mark-command] when \\[transient-mark-mode] is disabled.
+Taken from https://www.masteringemacs.org/article/fixing-mark-commands-transient-mark-mode"
+   (interactive)
+   (push-mark (point) t nil)
+   (message "Pushed mark to ring"))
+
+(defun re/jump-to-mark ()
+  "Jumps to the local mark, respecting the `mark-ring' order.
+This is the same as using \\[set-mark-command] with the prefix argument.
+Taken from https://www.masteringemacs.org/article/fixing-mark-commands-transient-mark-mode"
+  (interactive)
+  (set-mark-command 1))
+
 (provide 're-editing-defuns)
 ;;; re-editing-defuns.el ends here