vim中的Ctags路径与shell不同

时间:2014-06-18 04:55:18

标签: vim path ctags

我试图从vim生成ctags。我使用Exuberant ctags。

所以问题是当我从vim执行:!ctags:call system('ctags')时它不起作用,因为它使用我的默认ctags而不是繁琐的ctags。 我在我的shell中遇到了类似的问题,我通过首先指定了旺盛的路径来克服了这个问题 像export PATH=/usr/bin/local/:$PATH 所以这是非常奇怪的部分 当我在vim中echo $PATH显示正确的路径时。但当我做:call system('which ctags') 它向我显示/usr/bin/ctags而不是/usr/bin/local/ctags。 我无法理解发生了什么?

虽然我可以通过call system('/usr/bin/local/ctags')解决这个问题,但我只是想知道那里是否有更好的东西。

编辑: 我使用OSX 10.9.3

:set shell? - > shell=/bin/zsh

set shellcmdflag - > shellcmdflag=-c

我在zshrc文件中将我的路径设置为export PATH="/usr/local/bin:usr/local:$PATH

1 个答案:

答案 0 :(得分:2)

执行:!command:call system('command')时,Vim会根据'shell'的值以及:help 'shell'下列出的一系列其他选项启动新的子shell。 'shellcmdflag'选项很重要,因为它通常告诉你的shell如何启动(交互式或不是,是否登录),这通常会对*rc文件的来源产生影响,因此如果看到你的环境变量或不。

请用以下信息更新您的问题:

  • 您的操作系统
  • :set shell?
  • :set shellcmdflag?
  • *rc文件中您更改了PATH