为Go编程语言设置vim自动完成功能

编辑:

我一般很想知道人们是如何为vim设置自动完成功能的,并且正在寻找关于它的建议。

与我原来的问题相关,我想我知道我可以去:

https://github.com/nsf/gocode

复制他们在那里提供的文件,并开始使用vim自动完成。 然而,我想知道人们的想法以及go社区如何设置vim自动完成功能。

此外,我已经按照所发布的信息进行了跟踪,但仍然无法为vim中的自动完成工作。 所以我正在寻找其他选择或想法如何使其工作。 不确定是什么问题。 目前,当我尝试自动完成时,只需写出PANIC这个词,而不是向我展示自动完成的选项。

原版的:

我试图设置我的vim,以便它可以自动完成Go编程语言,但是,我正在按照以下页面中的说明进行操作:

https://github.com/nsf/gocode

我不确定他们的意思,我有点害怕可能会改变我的vim的设置方式,这可能会造成错误的做法。

让我困惑的第一件事是它说:

Install official Go vim scripts from $GOROOT/misc/vim. If you did that already, proceed to the step 2.

但是,我不确定这意味着什么。 我确实去了终端的那个目录,阅读了readme.txt文件,我说如何激活我已经有的语法突出显示。 这就是我为这一步所做的一切吗?

在步骤2中它说:

做:

vim/update.sh

他们实际上提供了update.sh的代码,但我不确定cp命令的开头是什么意思,即:

#!/bin/sh
mkdir -p "$HOME/.vim/autoload"
mkdir -p "$HOME/.vim/ftplugin/go"
cp "${0%/*}/autoload/gocomplete.vim" "$HOME/.vim/autoload"
cp "${0%/*}/ftplugin/go/gocomplete.vim" "$HOME/.vim/ftplugin/go"

但是$ {0%/ *}部分是做什么的? 即使我知道update.sh是什么,我甚至可以在哪里运行这个,因为这个vim / update.sh是在相对路径上完成的?

我知道update.sh希望我将一些文件复制到$ HOME / .vim / ftplugin / go和$ HOME / .vim / autoload,但我甚至找到了〜并找不到这样的文件,所以我不确定关于要复制的内容。 我知道它应该去哪里,但不是文件的位置。 有人知道这些文件在哪里,或者有关如何让vim自动完成的更简单或更详细的解释?

我在这里先向您的帮助表示感谢! :)


我发现的一些问题,我不知道它的预期,但在$ GOROOt / misc / vim / ftplugin / go中,我根本没有gocomplete.vim文件。 我还有其他的东西,像fmt.vim import.vim和test.sh文件似乎是无用的。

但奇怪的是,在$ GOROOt / misc / autoload我没有gocomplete.vim文件,但我有一个complete.vim文件。 不知道是否相同或为什么文件的名称会发生​​变化。 无论如何,他们会自动完成设置,并分享他们拥有的东西,并且他们是否知道与我遇到的情况有什么不同? 谢谢!


问题补充

我通常也很感兴趣的是其他人如何为自己的vim进行自动完成设置。 随意分享!


你是否已经执行了update.sh命令? 我非常有信心它会起作用。

所有的Vim配置都存储在~/.vim/~/.vimrc~/.gvimrc (使用Vim 7.4,你可以将最后两个也放在第一个目录中)。 要备份你的Vim配置,只需将它们存储在某个地方(或者将所有的dotfiles放在版本控制之下,就像现在所做的那样)。

${0%/*}操纵脚本的文件名( $0 ),如dirname的作用:它切断脚本文件名本身(在一切结束* ,直到最后/ )。 有了这个,你可以从任何地方调用脚本,例如$GOROOT/misc/vim/update.shcd misc; vim/update.sh cd misc; vim/update.shcd misc/vim; ./update.sh cd misc/vim; ./update.sh

该脚本还可确保autoloadftplugin子目录存在,并在尚未创建时创建它们。 试试吧!

链接地址: http://www.djcxy.com/p/18789.html

上一篇: Setting up vim autocomplete for the Go programming language

下一篇: Which Packages Are in Vagrant Base Boxes?