来自终端模拟器的 Vimscript 函数调用



我在neovim中安装了语言服务器客户端(vim-lsc(作为插件。该客户端与几种语言的语言服务器交互,如python或R,并提供自动完成,变量重命名等功能。

我想使用的一个功能是代码执行,在这种情况下,您可以选择代码的一部分,然后将其发送到 LSP 服务器进行评估并获得响应。如果我创建一个终端模拟器"term://python"并将代码复制粘贴到那里,我可以做类似的事情,但通过这种方式有两个"服务器"在运行,一个通过 LSP 服务器,另一个从终端运行,类似于 vim-matlab 所做的。

我希望能够在运行一个python或R或MATLAb实例的情况下做到这两点。如果有办法通过 vim-lsc 插件将终端模拟器中键入的"命令"发送到 LSP 服务器,那么只需运行一个实例即可完成作业。

我还想到制作一个 vimscript,它创建一个模拟终端的缓冲区(就像 Conque 或 vim-terminal 所做的那样(,然后通过该脚本捕获和传递命令。虽然,我无法弄清楚这些插件如何使提示符和命令输出不可修改,但保持用户当前键入的命令可修改。

我更喜欢 LSP 路由而不选择像 vimterm 这样的插件的原因是它们不提供自动完成和重构等各种功能。

欢迎任何建议。谢谢。

编辑:我想澄清一下,到目前为止,我认为vim-lsc没有能力发送executeCommand请求。我写了一个小的vimscript(分离代码(,它能够做到这一点。我计划及时提交拉取请求,并在 vim-lsc 中提供该功能,因此在描述中包含 vim-lsc。对混乱表示歉意。

如果它是 LSP 协议的一部分,并且您确实可以将代码发送到 LSP 服务器执行,那么它就不是 vim-LSC 实现的;我在帮助文件中找不到它。您可以做的最好的事情是在问题页面上搜索和/或自己发布有关该功能的信息。

最新更新