存在几种不同的“无干扰编辑器”用于写作:它们提供了全屏、最小的环境,目的是迫使自己专注于手头的任务。
我想做一些类似的事情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
,您需要执行以下操作。
进行你的魔鬼派配置。目录。
$ mkdir ~/.devilspie
创建一个
.ds
文件,指定您是魔鬼派规则$ cat ~/.devilspie/something.ds (if (matches (application_name) "vim") (begin (geometry "600x400") (center) ) )
跑步
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.
运行我们
xterm
的vim
.$ xterm -e vim
我的窗口叫什么名字?
您可以使用命令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)。