Emacs中的完美多窗口操作

Table of Contents

  • 1 典型的工作流
  • 2 将子窗口自动编号,然后按M-0…9跳转(最爱)
  • 3 undo/redo之前的窗口操作(最爱)
  • 4 焦点移动到下一窗口(常用)
  • 5 水平/垂直切分当前窗口(常用)
  • 6 将当前子窗口最大化(常用)
  • 7 删除当前子窗口(偶尔用)
  • 8 移动焦点到上下左右的窗口(基本不用)
  • 9 存储/载入窗口布局到register(基本不用)

1 典型的工作流

  1. 在两个子窗口中对比文件内容
  2. 打开更多的窗口以参考其他信息.
  3. 对某个窗口内容比较有兴趣,跳转到该窗口,将该窗口最大化
  4. 看完最大化的窗口内容后,undo最大化操作,重新回到早先的多个小窗口模式以便继续纵览全局

2 将子窗口自动编号,然后按M-0…9跳转(最爱)

安装window-numbering.el,然后在.emacs中添加以下代码,

(require 'window-numbering)
(window-numbering-mode 1)

3 undo/redo之前的窗口操作(最爱)

安装Winner Mode,然后在.emacs中添加以下代码,

(winner-mode 1)
;; copied from http://puntoblogspot.blogspot.com/2011/05/undo-layouts-in-emacs.html
(global-set-key (kbd "C-x 4 u") 'winner-undo)
(global-set-key (kbd "C-x 4 r") 'winner-redo)

4 焦点移动到下一窗口(常用)

M-x other-window,快捷键是`C-x o`.

5 水平/垂直切分当前窗口(常用)

快捷键C-x 2/3

6 将当前子窗口最大化(常用)

M-x delete-other-windows,快捷键`C-x 1`.

7 删除当前子窗口(偶尔用)

M-x delete-window,快捷键`C-x 0`.

8 移动焦点到上下左右的窗口(基本不用)

因我较喜欢vi快捷键,所以我安装了Evil Mode.快捷键和Vi一样.C-w h/j/k/l移动至各方向的子窗口.

9 存储/载入窗口布局到register(基本不用)

`C-x r w `存储,`C-x r j `载入.

你可能感兴趣的:(其他)