From 6a13a1b0b713c50d2064bc26ff229aa74560b1e3 Mon Sep 17 00:00:00 2001 From: jao Date: Fri, 21 May 2021 22:55:35 +0100 Subject: ye good olde window navigation shortcuts --- init.org | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/init.org b/init.org index 35fd671..d1af7d3 100644 --- a/init.org +++ b/init.org @@ -1174,20 +1174,43 @@ (define-key ctl-x-4-map (kbd "t") #'jao-transpose-windows) (global-set-key (kbd "M-O") #'jao-transpose-windows) #+end_src -*** First window +*** Window navigation #+begin_src emacs-lisp (defvar jao-first-window--from nil) (defun jao-first-window () + "Go to previous windows in frame, remembering where we were." (interactive) (let ((cb (current-buffer))) (if (eq (get-buffer-window cb) (select-window (frame-first-window))) (when jao-first-window--from (pop-to-buffer jao-first-window--from)) (setq jao-first-window--from cb)))) + (defun jao-prev-window () + "Go to previous window." + (interactive) + (other-window -1)) + + (defun jao--nth-windower (n) + (if (zerop n) #'jao-first-window + `(lambda () + (interactive) + (jao-first-window) + (dotimes (x ,n) (other-window 1))))) + (global-set-key (kbd "s-a") #'jao-first-window) (global-set-key (kbd "H-s-a") #'jao-first-window) (global-set-key (kbd "M-o") #'other-window) + (global-set-key (kbd "C-x p") 'jao-prev-window) + + (global-set-key (kbd "C-c 0") #'jao-first-window) + (dolist (n '(0 1 2 3 4 5 6 7 8)) + (global-set-key (format "\C-c%s" (1+ n)) (jao--nth-windower n))) + + #+end_src +*** nth window + #+begin_src emacs-lisp + #+end_src *** winner mode #+begin_src emacs-lisp -- cgit v1.2.3