emacs拆分为3个偶数窗口

Dir*_*irk 76 emacs

快速提问:如何指定拆分窗口中的字符数?Cx-3将我的窗口均匀分割成两个窗口,但随后的分割会将其中一个窗口分成两半.我想要3个相同大小的窗户.文档说我应该能够将左缓冲区的字符数指定为参数,但我似乎无法使其工作.任何语法的想法?

谢谢.

Jos*_*ews 252

C-x 3两次后跟C-x +所有窗口大小相同.

  • 有没有办法让Emacs立即用一个命令创建三个大小相同的窗口,而不是做`Cx 3 Cx 3 Cx +`? (8认同)
  • @sabrewolfy做了一个宏 (3认同)

Nik*_*win 24

要指定拆分窗口中的字符数,请执行以下操作:

Cu 字符数 Cx 3

  • `Cx +`使em均匀分布 (19认同)
  • 问题是它没有使windows _even_,这是手动设置宽度,所以你必须计算emacs窗口的宽度和高度,以均匀地调整它们的大小.下面的答案更有用. (5认同)
  • 由于手动调整大小而被否决。我不想计算我的终端高度并将其除以 3。 (2认同)

quo*_*tor 15

我有以下内容.emacs:

(defadvice split-window-horizontally (after rebalance-windows activate)
  (balance-windows))
(ad-activate 'split-window-horizontally)
Run Code Online (Sandbox Code Playgroud)

这会在每次调整大小后调用emacs rebalance-windows(C-x +默认情况下绑定).这不是我想要的,但我比默认行为更需要它.


xos*_*tom 11

加入.emacs.我映射到Cx 4,但是有人有更好的主意吗?

(defun split-3-windows-horizontally-evenly ()
  (interactive)
  (command-execute 'split-window-horizontally)
  (command-execute 'split-window-horizontally)
  (command-execute 'balance-windows)
)

(global-set-key (kbd "C-x 4") 'split-3-windows-horizontally-evenly)
Run Code Online (Sandbox Code Playgroud)

  • 我不会将它分配给`Cx 4`.这是一堆其他命令的默认前缀.参见`Cx 4 Ch`(显然没有设置你的绑定). (5认同)
  • 经过这么多年的@phils哇,我从来不知道如何获得一个带有一些共同前缀的命令列表......我喜欢emacs. (3认同)