多窗口

  • c-x 2 下方窗口
  • c-x 1 回到单个窗口
  • c-x 3 右方窗口
  • c-x o 跳到其他窗口
  • c-x 0 关闭本身这个窗口

窗口之间可以再次细分为更小的窗口。

winner-mode

;; winner-mode
;; global minor mode that allows you to “undo” and “redo” changes in WindowConfiguration
(winner-mode 1)

运行之后,当我们 c-x 1 只保留一个窗口之后,c-c left 表示恢复以前的多窗口布局,c-c right 继续回到一个窗口。

windmove

;; windmove: s-left, s-up, s-right
(windmove-default-keybindings)

windmove 默认使用 s-up, s-down, s-right 等分别进入不同方向的窗口。

progn

use-package init 阶段需要执行多条语句,就需要使用 progn 把多条语句框起来,作为一个整体来看待。

ace-window

这个可能内置的没有,别忘了 m-x package-refresh-content 刷新包。

;; ace-window: https://github.com/abo-abo/ace-window
;; progn: more than one command
(use-package ace-window
  :ensure t
  :init
  (progn
    (global-set-key [remap other-window] 'ace-window)
    ))

使用 ace-window 来代替原生的 other-window,当 c-x o 的时候,每个 window 的左上角都会有一个数字标识,随后输入你想要的那个标识,就可以跳转到你想要的窗口了。

;; ace-window: https://github.com/abo-abo/ace-window
;; progn: more than one command
(use-package ace-window
  :ensure t
  :init
  (progn
    (global-set-key [remap other-window] 'ace-window)
    (custom-set-faces
     '(aw-leading-char-face
       ((t (:inherit ace-jump-face-foreground :height 3.0)))))
    ))

上面增加的这一段的作用,只是为了按 c-x o 的时候,各个窗口左上角的数字比较大而已。

参考:

Using Emacs - 5 - Windows
https://cestlaz.github.io/posts/using-emacs-5-windows/

标签: Emacs

添加新评论