有没有办法让 vim 在:
已经输入的情况下卡在命令模式?
以这种方式,例如:
- 我会键入
/foo
Enter,光标会转到下一行的开头,其中包含foo
. - 接下来,我将仍然处于命令行模式,并且
:
已经输入了下一个命令。
是的,以 Ex 模式启动它,方法是调用它 asex
或 as vi -e
。
您还可以通过键入 Q(必须为大写)从正常的可视模式进入 Ex 模式。
您可以使用该vi
命令从 Ex 模式返回到正常可视模式。
编辑:这实际上并没有做 OP 正在寻找的东西。他希望在将光标保持在底部命令行上的同时保持视觉显示。那可能是不可能的。
不,但你可以映射;to :让自己“更接近”命令模式。
我将链接到 Vim wiki,而不是在这里重新发布相同的信息。
您可以构建自己的REPL,如下所示:
:while 1 | execute input(':') | redraw | endwhile
这只是一个概念演示;您可能想添加一个条件来退出此特殊模式。此外,像:append
这样的命令需要特殊处理才能正常工作。
作为最后一次尝试,我可以初始化 vim,-servername=FOO
然后编写一个小脚本,该脚本将从 stdin 读取并remote-send
在检测到(通过解析)在 stdin 上键入整个命令时发送到 FOO。
然后我会在不同的 xterms/gnu 屏幕上并排使用 Vim 和这个其他脚本。
编辑
好的,我会用这个。这样,我什至可以
:a
命令进入 vim 的插入模式,并在输入带有单个.. 这样我在插入文本时也会有语法高亮显示(你知道,vim 有一个非常漂亮的文本可视化显示,我只是太习惯于 ed 的界面)。当我有时间时,我会编写这个脚本并将其链接到这里。