Emacs, switch to previous window

后端 未结 13 1218
你的背包
你的背包 2020-12-04 07:12

In Emacs, C-x o takes me to the next window.

What keyboard macro takes me to the previous window in Emacs?

13条回答
  •  清歌不尽
    2020-12-04 07:39

    Base on idea from @Nate but slightly modified to support backwards cycling between windows

    ;; Windows Cycling
    (defun windmove-up-cycle()
      (interactive)
      (condition-case nil (windmove-up)
        (error (condition-case nil (windmove-down)
             (error (condition-case nil (windmove-right) (error (condition-case nil (windmove-left) (error (windmove-up))))))))))
    
    (defun windmove-down-cycle()
      (interactive)
      (condition-case nil (windmove-down)
        (error (condition-case nil (windmove-up)
             (error (condition-case nil (windmove-left) (error (condition-case nil (windmove-right) (error (windmove-down))))))))))
    
    (defun windmove-right-cycle()
      (interactive)
      (condition-case nil (windmove-right)
        (error (condition-case nil (windmove-left)
             (error (condition-case nil (windmove-up) (error (condition-case nil (windmove-down) (error (windmove-right))))))))))
    
    (defun windmove-left-cycle()
      (interactive)
      (condition-case nil (windmove-left)
        (error (condition-case nil (windmove-right)
             (error (condition-case nil (windmove-down) (error (condition-case nil (windmove-up) (error (windmove-left))))))))))
    
    (global-set-key (kbd "C-x ") 'windmove-up-cycle)
    (global-set-key (kbd "C-x ") 'windmove-down-cycle)
    (global-set-key (kbd "C-x ") 'windmove-right-cycle)
    (global-set-key (kbd "C-x ") 'windmove-left-cycle)
    

提交回复
热议问题