【问题标题】:How can I debug the vim part of the poshcomplete vim plugin?如何调试 poshcomplete vim 插件的 vim 部分?
【发布时间】:2015-09-23 06:57:28
【问题描述】:

由于我喜欢 vim,我发现了两个有趣的帖子,以便将 PS 与 vim 一起使用:

  1. 使用在 PSISE 中编辑的文件帮助从 PSISE 启动 vim。

    1. 我找到了下面这行:

      $psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add("edit with Vim",{$cur=$psISE.CurrentFile; saps "C:\Program Files (x86)\vim\vim74\gvim.exe" $cur.FullPath -wait; $psise.currentpowershelltab.files.remove($cur); $psISE.currentpowershelltab.files.add($cur.fullpath) },'Ctrl+Alt+v')

    2. 打开 PSISE:

      psise> ise $profile
      

      在 PSISE 打开的文件中粘贴该行。之后,您可以通过按 Ctrl-Alt-V 使用 vim 打开当前文件。

  2. poshcomplete 有助于在 vim 中完成一次 PowerShell 语言。

    1. 我已经安装了 poshcomplete vim 插件。我已经按照this link 安装了 webapi-vim 和 vimproc.vim。

问题:

使用命令启动服务器后

:call poshcomplete#StartServer()

一切正常。该函数在 poshcomplete 中找到,声明了端口或其他细节的变量。

如果然后我尝试调用完成 Ctrl-X,Ctrl-O 之后,例如,“写”这个词我收到以下错误:

: 全方位补全(^O^N^P) 未找到模式。

但是,如果我检查从服务器返回的 poshcomplete(我使用带有“http://localhost:1234/poshcomplete?text=write”行的 httprequester),我可以看到来自 Web 服务器的答案是正确的。确实,我可以看到所有带有“write”的命令。

我不明白 vim 端发生了什么恢复数据以显示它以完成,因为我有两次插件工作,但后来它停止工作。

我认为在服务器公开结果的那一刻和 vim 尝试获取它的那一刻之间存在同步问题。我可能错了,但如果有人可以提供帮助,我想更正一下。

【问题讨论】:

  • 非常感谢@Ansgar 对问题的更正。

标签: powershell vim completion


【解决方案1】:

你能像这样修改你的vimfiles目录中的autoload/poshcomplete.vim吗?

  let res = webapi#http#post("http://localhost:" . g:PoshComplete_Port . "/poshcomplete/",
  \                                  {"text": buffer_text}, {}, s:noproxy_option)
+ echo 'Response: ' . res.content
  return webapi#json#decode(res.content)

使用此代码按<C-X><C-O>,显示来自服务器的响应。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多