在 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即可。

相关推荐
向明天乄1 小时前
Maotu流程图编辑器:Vue3项目中的集成实战与自定义流程开发指南
javascript·编辑器·vue·流程图
且白15 小时前
vsCode使用本地低版本node启动配置文件
前端·vue.js·vscode·编辑器
维克喇叭16 小时前
vscode 离线安装第三方库跳转库
ide·vscode·编辑器
2401_858286111 天前
OS11.【Linux】vim文本编辑器
linux·运维·服务器·编辑器·vim
小男孩tom1 天前
vscode
ide·vscode·编辑器
我命由我123452 天前
VSCode - VSCode 放大与缩小代码
前端·ide·windows·vscode·前端框架·编辑器·软件工具
old_power2 天前
VSCode 工作区配置文件通用模板创建脚本
ide·vscode·编辑器
vortex52 天前
在 Kali 上打造渗透测试专用的 VSCode 环境
ide·vscode·编辑器
程序猿小D3 天前
第16节 Node.js 文件系统
linux·服务器·前端·node.js·编辑器·vim
luojiaao3 天前
【Python工具开发】k3q_arxml 简单但是非常好用的arxml编辑器,可以称为arxml杀手包
开发语言·python·编辑器