2

我刚刚安装了 VCSCommand,每当我尝试运行命令时都会收到“没有合适的插件”的错误。我在 Vim 中加载了一个文件,该文件位于带有 mercurial 存储库的目录中。

我发现了一些解释,如果您不在“工作目录”中,可能会显示“没有合适的插件”错误,我认为您正在编辑的文件应该在检查文件的“工作目录”中从存储库中出来。问题可能是(作为 Hg 的新用户)我没有正确理解 Mercurial。我正在编辑的文件位于我创建 Hg 存储库的目录中,只是为了跟踪我的本地更改。我发出的命令是“hg init”,然后是“hg add”,从那以后我一直很高兴地使用“hg commit”、“hg log”和“hg diff”。这个目录不是回购的“工作目录”吗?假设这是问题所在,我如何将 hg repo 中的文件“签出”到工作目录中?

或者上面的问题可能根本不是“没有合适的插件”错误的问题。我确实在正确的插件目录中有 vcshg.vim 文件,所以插件就在那里。

谢谢,任何帮助表示赞赏。

更新:以防万一我使用 mercurial 是我尝试创建我的主要 mercurial 存储库的“克隆”并在克隆中编辑文件的问题。仍然得到相同的“没有合适的插件”。信息。

另外:我遗漏了我在 Windows 上运行的原始消息,并且我认为我已经追踪到字符串中对转义码的不正确引用。一旦我得到完整的解决方案,将提供进一步的更新。

4

2 回答 2

3

我确实让 VCSCommand 运行良好。我认为这个问题与 Mercurial 无关,而是与 VCSCommand 中在 Windows 上引用系统命令的问题有关。至少这是主要问题。

为了让 VCSCommand 正常工作,我首先确保将变量 b:VCSCommandVCSType 设置为“HG”。由于某种原因没有设置它,这就是为什么我收到“没有合适的插件”错误。

其次,我不得不修改 vcshg.vim 中的一行。s:Executable() 函数由一行 'return 组成。. . ' 功能。围绕系统调用的 shellescape() 包装器引用不正确;在我删除它之后它工作得很好。(对于 Mercurial 以外的系统,vcsXX.vim 文件中可能存在同样的问题,我没有检查过。)

我认为这个引用问题只存在于 Windows 上,并且可能已经出现,因为主要开发人员没有要测试的 Windows 机器。. . .

于 2010-09-24T18:27:32.310 回答
0

先回答“工作目录”的问题:你的仓库就是你的工作目录。与 cvs/svn 不同,您无需签出文件即可进行编辑。你只是编辑。

(仅供参考 hg 将其update命令别名为checkoutco帮助 svn 用户,但hg update它是一个非常不同的动物。)

在不了解您的完整环境(平台、vim 安装等)的情况下,我只能猜测“没有合适的插件”错误是由于您的 VCSCommand 文件不在正确的位置。我在 cygwin by 上使用我的古老 vim 7.2 尝试了它的最新版本 1.99.42,这cp VCSCommand/plugin/* ~/.vim/plugin/vim一个 hg repo 中的文件,然后:VCSStatus向我展示了正确的结果。

如果您有其他 VCSCommand 支持的 VCS(cvs、svn、svk、git、bzr),请在他们的存储库之一中尝试,看看是否遇到相同的错误。如果是这样,那肯定是 VCSCommand 安装问题。

于 2010-09-23T01:50:50.957 回答