有没有一种方法可以让vim在命令模式下卡住,并已经输入了:
?
这样,例如:
- 我将输入
/foo
Enter,光标将移动到包含foo
的下一行的开头。 - 接下来,我仍然处于命令行模式下,并已经输入了
:
,以进行下一个命令。
可以通过使用ex
或vi -e
作为命令来在Ex模式下启动它。
您还可以通过键入大写Q(必须是大写)从普通的可视化模式进入Ex模式。
使用vi
命令可以从Ex模式返回到普通可视化模式。
编辑:实际上,这并不能实现OP所寻求的功能。他想要保持视觉显示,同时将光标保留在底部命令行上。这可能是不可能的。
cmap <cr> <cr>:
,但当输入带有 ':a' 的文本时,这会导致许多问题。 - VimQuestion:while 1 | execute input(':') | redraw | endwhile
这只是一个概念演示;您可能需要添加一个条件来退出此特殊模式。此外,像:append
这样的命令需要特殊处理才能正常工作。
%s/e/E/g
),并且应立即在当前缓冲区中看到其效果。 - Ingo Karkat:redraw!
而不是:redraw
似乎可以解决这个问题。正如我所说,这只是一个需要扩展以进行实际使用的演示。 - Ingo Karkat作为最后一次尝试,我可以使用-servername=FOO
初始化vim,然后编写一个小脚本,该脚本将从stdin读取并在检测到(通过解析)整个命令已在stdin上键入时向FOO发送remote-send
。
然后我只需在不同的xterms/gnu屏幕上并排使用Vim和这个其他脚本。
编辑
好的,我会使用这个。这样我甚至可以使用
:a
命令进入vim的插入模式,并在输入带有单个.的行时切换回命令模式。这样,在插入文本时我也会有语法高亮(你知道,vim有一个非常漂亮的文本可视化显示,我只是太习惯ed的界面了)。等我有时间时,我会编写这个脚本并在此处链接它。
ed
。 - VimQuestion