寻找居中的全屏终端

寻找居中的全屏终端

存在几种不同的“无干扰编辑器”用于写作:它们提供了全屏、最小的环境,目的是迫使自己专注于手头的任务。

我想做一些类似的事情vim。虽然我可以简单地在终端中启动它,然后按 F11 将其设置为全屏,但我想要将宽度限制为约 75 个字符并将我正在使用的区域居中。

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

有没有办法做到这一点,要么使用特殊的终端程序,要么使用 vim 中的某些设置?如果 GUI vim 程序之一具有此功能,或者有任何其他我没有想到的方法,那么这也将是一个有用的答案。

答案1

如果您screen从最大化xterm( Alt-Enterin xterm) 开始,如下所示:

screen -c this-file

其中this-file包含:

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

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

答案2

另一种方法是使用如下程序来devilspie实现这一点。如果你从未听说过devilspie

摘抄

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

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

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

例子

因此,要将在其中xterm运行的窗口居中vim,您需要执行以下操作。

  1. 进行你的魔鬼派配置。目录。

    $ mkdir ~/.devilspie
    
  2. 创建一个.ds文件,指定您是魔鬼派规则

    $ 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
...

您可以像这样控制窗口名称:

$ xterm -title WeirdWindow -e vim

参考

答案3

Vim 有一个插件叫维姆室它通过映射提供此功能(默认为 V)。

相关内容