在 emacs 中如何将窗口的垂直分割改为水平分割

文章目录

<2022-08-25 周四>

emacs中如何将窗口的垂直分割改为水平分割

emacs没有原生支持,所以抄了一个函数,如下:

emacs-lisp 复制代码
;;; https://www.emacswiki.org/emacs/ToggleWindowSplit
(defun toggle-window-split ()
  (interactive)
  (if (= (count-windows) 2)
      (let* ((this-win-buffer (window-buffer))
             (next-win-buffer (window-buffer (next-window)))
             (this-win-edges (window-edges (selected-window)))
             (next-win-edges (window-edges (next-window)))
             (this-win-2nd (not (and (<= (car this-win-edges)
                                         (car next-win-edges))
                                     (<= (cadr this-win-edges)
                                         (cadr next-win-edges)))))
             (splitter
              (if (= (car this-win-edges)
                     (car (window-edges (next-window))))
                  'split-window-horizontally
                'split-window-vertically)))
        (delete-other-windows)
        (let ((first-win (other-window 1)))
          (funcall splitter)
          (if this-win-2nd
              (other-window 1))
          (set-window-buffer (selected-window) this-win-buffer)
          (set-window-buffer (next-window) next-win-buffer)
          (if this-win-2nd
              (other-window 1))))))

emacs如何将两个窗口的内容交换?调用M-x window-swap-states即可。

相关推荐
CNRio2 小时前
Day 12:Git配置详解:用户信息、编辑器、颜色等配置
git·elasticsearch·编辑器
怪力左手16 小时前
vscode扩展离线下载
ide·vscode·编辑器
yiSty1 天前
在VScode中安装Yarn
ide·vscode·编辑器
i_am_a_div_日积月累_1 天前
vscode点击文件会覆盖上一个文件
ide·vscode·编辑器
乐吾乐科技1 天前
乐吾乐3D可视化2025重大更新与2026升级计划
前端·3d·信息可视化·编辑器·数据可视化
取个鸣字真的难1 天前
claude code + vscode,打造专属编程AI IDE
ide·vscode·编辑器·aigc·ai编程·agi·第三方api
Ha_To1 天前
2025.12.31 VScode
ide·vscode·编辑器
怪我冷i1 天前
Zed编辑器快速入门
vscode·rust·编辑器·zed
怪我冷i2 天前
Zed编辑器安装与使用Agent Servers(腾讯CodeBuddy、阿里百炼Qwen Code、DeepSeek Cli)
人工智能·编辑器·ai编程·ai写作·zed