Tagbar插件在vim中工作,但在neovim中不工作

Tagbar插件在vim中工作,但在neovim中不工作,vim,neovim,tagbar,Vim,Neovim,Tagbar,我的插件在vim中工作得很好,但是neovim中没有显示任何标签 当我在两者中使用TagbarDebug时,我可以看到从vim运行时ctags输出良好,但从neovim,TagbarDebug.log.ctags_out只有以下行: ^[[31;01m'^[[39;00m^[[31;01m/usr/local/bin/ctags-f---format=2--excmd=pattern--fields=nksSaf--extra=--file-scope=yes--sort=no--append=

我的插件在vim中工作得很好,但是neovim中没有显示任何标签

当我在两者中使用
TagbarDebug
时,我可以看到从vim运行时ctags输出良好,但从neovim,
TagbarDebug.log.ctags_out
只有以下行:

^[[31;01m'^[[39;00m^[[31;01m/usr/local/bin/ctags-f---format=2--excmd=pattern--fields=nksSaf--extra=--file-scope=yes--sort=no--append=no-V--language-force=python--python-kinds=icfmv/var/folders/_z/tz5sb8jd6mj41gj2gn8qvhhr0000gn/T/nvimoU8Oxr/1.py^[[39;00m^[[31;01m'^[[39;00m
tagbardebug.log
中,我可以看到ctags在两者之间的调用略有不同。在vim中,日志具有:

Calling shell to execute: "('/usr/local/bin/ctags' '-f' '-' '--format=2' '--excmd=pattern' '--fields=nksSaf' '--extra=' '--file-scope=yes' '--sort=no' '--append=no' '-V' '--language-force=python' '--python-kinds=icfmv' '/var/folders/_z/tz5sb8jd6mj41gj2gn8qvhhr0000gn/T/v0jhgoR/4.py') >/var/folders/_z/tz5sb8jd6mj41gj2gn8qvhhr0000gn/T/v0jhgoR/5 2>&1"
但neovim的等效线是:

Executing command: "'/Users/owen/miniconda3/bin/xonsh' '-c' ''/usr/local/bin/ctags' '-f' '-' '--format=2' '--excmd=pattern' '--fields=nksSaf' '--extra=' '--file-scope=yes' '--sort=no' '--append=no' '-V' '--language-force=python' '--python-kinds=icfmv' '/var/folders/_z/tz5..."
区别在于ctags的调用方式—vim直接调用它,但neovim调用shell可执行文件并传递-c参数。但是,如果我从命令行运行neovim使用的命令,它可以正常工作

我试过设置标签栏,但没有什么不同


关于我还需要挖掘的地方,有什么线索吗?

我的猜测是,
xonsh
对连接到终端做了一些假设,这在终端Vim中是正确的,但在gVim和Neovim(使用管道调用命令)中不是这样的

尝试将
shell*
选项设置为默认值:

:set shell& shellcmdflag& shellpipe& shellquote& shellredir& shellxquote& shellxescape&
(或者干脆删除配置中设置这些选项的行。)

区别在于ctags的调用方式——vim直接调用它,但neovim调用shell可执行文件并传递-c参数


不,这只是日志输出的不同。Vim还使用“shell”选项和“shellcmdflag”选项(它的日志消息暗示了这一点:调用shell来执行…。

我怀疑Vim也在调用shell,只是neovim对其进行了明确说明。维姆说:“调用shell来执行[诸如此类]”。neovim说:“执行命令[你的怪异外壳]-c[诸如此类]”。vim是否可能通过另一个shell调用?我们怎么说呢?我确实想知道xonsh是否是问题所在,但我没有想到vim可能在“做自己的事情”,我可能会尝试将默认shell更改为bash,看看会发生什么。太棒了!这就是问题所在!在init.vim中添加一行以将shell设置为bash解决了这个问题。多谢各位