From: Paul Nelson Date: Tue, 10 Jun 2025 09:33:05 +0000 (+0200) Subject: Add simpler binds for calendar month/year navigation X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8ca93b10f8a5c8e7bef4bea60424ccffc71daea9;p=emacs.git Add simpler binds for calendar month/year navigation * lisp/calendar/calendar.el (calendar-mode-map): Add keybindings '{' and '}' for month navigation, '[' and ']' for year navigation (bug#78753). * doc/emacs/calendar.texi (Calendar Unit Motion): Document them. (cherry picked from commit fbb77abc816844ccad761d246cfb833c424ae0b8) --- diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index 56f297db5d0..b3558448975 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi @@ -84,12 +84,16 @@ Move point one week forward (@code{calendar-forward-week}). @item C-p Move point one week backward (@code{calendar-backward-week}). @item M-@} +@itemx @} Move point one month forward (@code{calendar-forward-month}). @item M-@{ +@itemx @{ Move point one month backward (@code{calendar-backward-month}). @item C-x ] +@itemx ] Move point one year forward (@code{calendar-forward-year}). @item C-x [ +@itemx [ Move point one year backward (@code{calendar-backward-year}). @end table @@ -114,12 +118,16 @@ week. @kbd{C-f} (@code{calendar-forward-day}) and @kbd{C-b} @kbd{C-p}, just as they normally are in other modes. @kindex M-@} @r{(Calendar mode)} +@kindex @} @r{(Calendar mode)} @findex calendar-forward-month @kindex M-@{ @r{(Calendar mode)} +@kindex @{ @r{(Calendar mode)} @findex calendar-backward-month @kindex C-x ] @r{(Calendar mode)} +@kindex ] @r{(Calendar mode)} @findex calendar-forward-year @kindex C-x [ @r{(Calendar mode)} +@kindex [ @r{(Calendar mode)} @findex calendar-backward-year The commands for motion by months and years work like those for weeks, but move a larger distance. The month commands @kbd{M-@}} @@ -137,6 +145,9 @@ to the beginning or end of a paragraph, whereas these month and year commands move by an entire month or an entire year, keeping the same date within the month or year. + You can also use the simpler to type keystrokes @kbd{@}} and @kbd{@{} +to navigate by month, and @kbd{]} and @kbd{[} to navigate by year. + All these commands accept a numeric argument as a repeat count. For convenience, the digit keys and the minus sign specify numeric arguments in Calendar mode even without the Meta modifier. For example, diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index edb05217619..a18ad72647f 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -1603,7 +1603,9 @@ Otherwise, use the selected window of EVENT's frame." (define-key map "\C-b" 'calendar-backward-day) (define-key map "\C-p" 'calendar-backward-week) (define-key map "\e{" 'calendar-backward-month) + (define-key map "{" 'calendar-backward-month) (define-key map "\C-x[" 'calendar-backward-year) + (define-key map "[" 'calendar-backward-year) (define-key map "\C-f" 'calendar-forward-day) (define-key map "\C-n" 'calendar-forward-week) (define-key map [left] 'calendar-backward-day) @@ -1611,7 +1613,9 @@ Otherwise, use the selected window of EVENT's frame." (define-key map [right] 'calendar-forward-day) (define-key map [down] 'calendar-forward-week) (define-key map "\e}" 'calendar-forward-month) + (define-key map "}" 'calendar-forward-month) (define-key map "\C-x]" 'calendar-forward-year) + (define-key map "]" 'calendar-forward-year) (define-key map "\C-a" 'calendar-beginning-of-week) (define-key map "\C-e" 'calendar-end-of-week) (define-key map "\ea" 'calendar-beginning-of-month)