寻找一个集中的全屏终端


8

那里有几种不同的“无干扰的编辑器”可供编写:它们提供了一个全屏,最小化的环境,目的是迫使自己专注于手头的任务。

我想与做类似的事情vim。虽然我可以在终端中简单地将其启动,然后按F11使其进入全屏状态,但我想将宽度限制为大约75个字符,并将所使用的区域居中。

考虑一下文字处理器如何在程序中间提供一个虚拟页面,这就是我想要的。有点。

是否可以通过特殊的终端程序或vim中的某些设置来执行此操作?如果其中一个GUI vim程序具有此功能,或者有其他我没想到的实现方法,那么这也将是一个有用的答案。

Answers:


12

如果你开始screen在最大化xtermAlt-Enterxterm)为:

screen -c this-file

其中this-file包含:

focusminsize 75 25
split -v
focus
only
split -v
split -v
focus

您将获得一个width的中心区域75


这是如此接近完美,谢谢。这样会在活动区域​​周围和终端底部放置白色边框;你知道是否有办法摆脱这些吗?
evilsoup

这对我不起作用。
slm

1
RE:我之前的评论,摆脱边界的答案可以在SU问题中找到。我将这些行放在我的代码中.screenrc,因此我的默认设置screen将使用此处的所有命令。在Ubuntu 13.04,gnome-terminal版本3.6.1(以及xterm和guake)和screen版本4.00.03jw4 上,我可以完美使用。谢谢!
evilsoup

我使用的是Fedora 14和gnome-terminal版本2.32.0。屏幕版本4.00.03。xterm -v,6.8.99.903。在那里不工作。
slm

在Ubuntu 13.04上试用过。我现在看到它在做什么。它是3个窗格,均分,焦点在中间。
slm

1

一种替代方法是使用程序devilspie来完成此任务。如果您从未听说过devilspie

摘抄

一个窗口匹配实用程序,灵感来自Sawfish的“匹配的Windows”选项以及Metacity中缺少功能。缺少窗口匹配的Metacity并不是一件坏事-Metacity是一个精益的窗口管理器,并且窗口匹配不必是窗口管理器的任务。

可以配置Devil's Pie,以在创建窗口时检测它们,并将该窗口与一组规则匹配。如果窗口符合规则,则可以在该窗口上执行一系列操作。例如,我可以使X-Chat创建的所有窗口都出现在所有工作区中,而Gkrellm1主窗口没有出现在寻呼机或任务列表中。

它应该在大多数发行版的存储库中。

因此,xterm要使运行中的窗口居中vim,请执行以下操作。

  1. 进行您的Devil's Pie配置。目录

    $ mkdir ~/.devilspie
    
  2. 创建一个.ds文件,指定您是Devil's Pie规则

    $ cat ~/.devilspie/something.ds 
    (if
        (matches (application_name) "vim")
        (begin
            (geometry "600x400")
            (center)
        )
    )
    
  3. 运行devilspie。我喜欢运行它的调试模式(-d)来启动。

    $ devilspie -d
    Devil's Pie 0.22 starting...
    Loading /etc/devilspie
    /etc/devilspie doesn't exist
    Loading /home/saml/.devilspie
    Loading /home/saml/.devilspie/something.ds
    1 s-expressions loaded.
    
  4. 运行我们xtermvim

    $ xterm -e vim
    

    xterm vim的ss

我的窗户叫什么名字?

您可以使用该命令xlsclient -l获取打开的窗口的列表。我发现这是确定要合并到中的窗口名称的最简单方法devilspie。您可能也想利用它xwininfo

$ xlsclients -l|less
...
Window 0x6800023:
  Machine:  grinchy
  Name:  vim
  Icon Name:  vim
  Command:  xterm -e vim
  Instance/Class:  xterm/XTerm
...

您可以像这样控制Windows名称:

$ xterm -title WeirdWindow -e vim

参考文献


这绝对是整洁的,但这不是我要完成的。它只是将窗口放置在指定的位置并具有指定的窗口尺寸,对吗?我想在屏幕中央有一个活动的“页面”,而屏幕的其余部分为空白-因此背景没有干扰。
evilsoup

@evilsoup-是的,它将xterm @指定的尺寸居中。您可以将背景设为空白,我将更新我的答案,以便我们有另一种方法。您的问题不是说您想让它在后台消失,也许我错过了一些东西。另外我认为您缺少的能力devilspie。例如,您可以将规则添加到.ds文件以最小化其他所有内容。
slm

@evilsoup-删掉背景就足够了吗?我知道您有其他解决方案,但我只想提供一种替代方法。
slm

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.