我让标题栏插件在vim中工作得很好,但是在新版本中没有显示标签。
当我在这两者中使用TagbarDebug时,我可以看到,当从vim运行时,ctag输出是很好的,但是在tagbardebug.log.ctags_out中,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中,我可以看到ctag在两者之间的调用略有不同。在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"但从新来看,等价线是:
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..."区别似乎在于ctag是如何被调用的- vim直接调用它,但是neovim调用shell可执行文件并传递-c参数。但是,如果我从命令行运行了neovim使用的命令,它就能正常工作。
我尝试过设置tagbar_ctags_bin,但这并没有什么不同。
关于我还需要挖哪里有什么线索吗?
发布于 2019-04-29 09:45:37
我的猜测是,xonsh对连接到终端做出了一些假设,这在终端Vim中是正确的,但在gVim或Neovim (使用管道调用命令)中则不是这样。
尝试将shell*选项设置为其默认值:
:set shell& shellcmdflag& shellpipe& shellquote& shellredir& shellxquote& shellxescape&(或者只需删除配置中设置这些选项的行。)
区别似乎在于ctag是如何被调用的- vim直接调用它,但是neovim调用shell可执行文件并传递-c参数。
不,这只是日志输出的差异。Vim还使用“shell”选项和“shell Calling”选项(它的日志消息暗示了这些选项:调用shell来执行.)。
https://stackoverflow.com/questions/55830536
复制相似问题