屏幕上显示 Vim,无需查看

屏幕上显示 Vim,无需查看

我正在尝试执行以下操作:

  1. 开始新的屏幕会话
  2. 在其上启动 vim。
  3. 向其提供命令。
  4. 检查输出

作为测试 vim 的一种手段。我可以这样做,但问题是我希望它对用户不透明。

换句话说,用户运行我的测试脚本,然后无需向他们展示该脚本创建一个新屏幕,在其上运行 vim,然后我们开始测试。

这可能吗?我可以在分离的屏幕上运行 vim 并让它按预期运行吗?

(注意:我没有依赖屏幕、tmux 或其他多路复用器,或者实际上任何将受控输入传输到不可见的 vim 实例的方法都可以。)

我已经手动完成了这个操作(将我的终端拆分开,-X stuff在一个屏幕中运行命令,在另一个屏幕中运行 vim),但每次我尝试编写脚本来执行此操作时,它都不起作用。我很难弄清楚为什么它不起作用,因为我无法准确地附着在屏幕上观看......

答案1

我不太明白你想要做什么,因为你解释的是你想象的手段而不是你的目标。

如果使用正确的选项进行编译,则可以使用此命令以“客户端服务器模式”启动 vim:

$ vim --servername HIDDEN

并使用以下命令发送命令:

$ vim --servername HIDDEN --remote-send 'ihello<CR>'

或者使用以下命令编辑文件:

$ vim --servername HIDDEN --remote filename

:h clientserver

相关内容