(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)
(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)
(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