首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ediff split-window-function horizontal==vertical?

ediff split-window-function horizontal==vertical?
EN

Stack Overflow用户
提问于 2012-03-14 23:42:41
回答 3查看 4.4K关注 0票数 13

CentOs 6上的Emacs 23.1.1 Ediff 2.81.2

在进行任何定制之前,默认情况下,Ediff会水平拆分窗口(一个窗口在另一个窗口之上)。

我想把它们并排放在一起,所以我尝试在.emacs中添加以下代码行

代码语言:javascript
复制
(setq ediff-split-window-function 'split-window-vertically)
(setq ediff-merge-split-window-function 'split-window-vertically)

这没有效果-窗口仍然是水平分割的。我还尝试使用Ediff的Emacs定制接口来获得默认的垂直拆分--同样的故事。

请注意,我在与垂直拆分的两个缓冲区进行比较时尝试了此方法。我还在缓冲区中没有打开文件的情况下尝试,并要求Ediff比较两个文件-相同的结果。

然后,我尝试指定split- window -horizontally作为ediff-split和ediff-merge的拆分窗口函数。

代码语言:javascript
复制
(setq ediff-split-window-function 'split-window-horizontally)
(setq ediff-merge-split-window-function 'split-window-horizontally)

这导致窗口垂直拆分(彼此相邻)。当我注释掉这些行并使用Emacs定制界面设置这些选项时,也是如此。

是的,我见过this question,但我不想在全局的基础上消除水平拆分--我只想让Ediff默认这么做。

我是不是疯了,或者是有人改变了“水平”和“垂直”的含义(顺便说一下,我从O‘’Reilly的“学习Gnu Emacs”一书中拿出了“垂直”和“水平”的定义)?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-21 21:30:01

我使用了emacs变量定制,并通过C-h v ediff-split-window-function调用来更改该值。单击Save for future sessions后,会在我的.emacs中写入以下内容

代码语言:javascript
复制
(custom-set-variables
...
 '(ediff-split-window-function (quote split-window-horizontally))
...)

它做的正是我想要的:把两个缓冲区并排放在一起。是的,emacs使用的是水平/垂直,与您的想法相反。如果你再读一遍this question,你会看到它的解释,其他人也很困惑。

票数 12
EN

Stack Overflow用户

发布于 2013-12-10 02:02:18

当你在2个文件加载的ediff模式下点击"|“时,从水平切换到垂直。

"?“给出了一个小的编辑帮助菜单。(我使用的是Debian Wheezy和emacs 23.4+1-4)

票数 12
EN

Stack Overflow用户

发布于 2015-05-10 00:46:24

虽然它不能完全解决您的问题,但您也可以使用一个函数来指定是垂直拆分还是水平拆分,具体取决于窗口大小:

代码语言:javascript
复制
(setq ediff-split-window-function 'split-window-sensibly)

split-window-sensibly是built-in

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9705149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档