为VIM添加GoLang语法高亮显示

为VIM添加GoLang语法高亮显示,vim,go,vim-plugin,vim-syntax-highlighting,Vim,Go,Vim Plugin,Vim Syntax Highlighting,我正试图通过这里提供的资源和方向,将Go语言语法突出显示添加到ubuntu上的VIM中 Go附带一个包含vim语法设置的Go.vim文件,上面的页面提供了以下说明 将$GOROOT/misc/vim/syntax/go.vim放入~/.vim/syntax/并将以下内容放入~/.vim/ftdetect/go.vim: au BufRead,BufNewFile *.go set filetype=go 这与我在别处看到的定制vim语法的过程大致相同 (及) 因此,我认为我在创建目录时做的是

我正试图通过这里提供的资源和方向,将Go语言语法突出显示添加到ubuntu上的VIM中

Go附带一个包含vim语法设置的
Go.vim
文件,上面的页面提供了以下说明

将$GOROOT/misc/vim/syntax/go.vim放入~/.vim/syntax/并将以下内容放入~/.vim/ftdetect/go.vim:

au BufRead,BufNewFile *.go set filetype=go 
这与我在别处看到的定制vim语法的过程大致相同 (及)

因此,我认为我在创建目录时做的是正确的:
~/.vim
~/.vim/语法
~/.vim/ftdetect

并按照上述说明添加

转到~/.vim/语法/ 并在~/.vim/ftdetect/中创建一个文件go.vim,其中包含

au BufRead,BufNewFile *.go set filetype=go

然而,语法突出显示似乎并没有出现。我需要做些什么来强制VIM查看这些新的设置文件吗?

结果发现上面的说明有点模糊

~/.vim/syntax/go.vim
的内容应与
~/.vim/ftdetect/go.vim

只有
~/.vim/ftdetect/go.vim
必须附加
au BufRead,BufNewFile*.go set filetype=go

如果按字面意思理解,说明会告诉您创建一个文件
~/.vim/ftdetect/go.vim
,其中只包含

         au BufRead,BufNewFile *.go set filetype=go

我想这就是上下文知识应该起作用的地方。只是我以前从未这样做过,也没有这样的背景。谢谢大家

您只需将这些行添加到
~/.vimrc

set rtp+=$GOROOT/misc/vim
filetype plugin indent on
syntax on
编辑这假设
文件类型插件在这些行之前缩进关闭
(即
.vimrc
文件的开头),如果不这样做,可能会导致问题。有关更安全的版本,请参见下面@peterSO的答案。

更新:

用于包含Go的标准存储库的顶级misc目录 对编辑器和IDE的支持:插件、初始化 脚本等等。维护这些设备变得越来越费时费力 需要外部帮助,因为列出的许多编辑器未被使用 核心团队的成员。它还要求我们做出决定 哪一个插件对于给定的编辑器是最好的,即使对于我们所做的编辑器也是如此 不用。 一般来说,围棋社区更适合管理这些信息。因此,在Go 1.4中,该支架已从 存储库。相反,这里有一份精心策划、内容丰富的 网上有什么


标准Go发行版包括
Go/misc/Vim/
中的Vim Go文件。此目录包含一个包含安装说明的
readme.txt
文件

用于Go的Vim插件(
http://golang.org

要使用所有Vim插件,请将这些行添加到
$HOME/.vimrc

" Some Linux distributions set filetype in /etc/vimrc.
" Clear filetype flags before changing runtimepath to force Vim to reload them.
filetype off
filetype plugin indent off
set runtimepath+=$GOROOT/misc/vim
filetype plugin indent on
syntax on
如果您想选择较少的插件,请使用其余部分中的说明 这个文件的一部分


出于我自己决策之外的任何原因,我们通过Debian软件包将Golang安装到了我们的开发虚拟机上。根据我对vim的搜索,vim的这个特定发行版并没有任何好东西。无论如何,我决定走vundle路线,以便将这些好东西快速部署到所有这些开发虚拟机上。如果你愿意的话,你可以将这种方法应用到木偶或其他东西中,但我们没有这样做。不管怎样,我是这样做的:

步骤1:安装vundle:

步骤2:将这一行放在.vimrc中(当然是从这里开始的:),然后从命令行运行vim,比如
vim+BundleInstall+qall
,或者从vim内部运行
:BundleInstall

Bundle 'jnwhiteh/vim-golang'
第3步:将我编写的这个小bash脚本保存为govim.sh或其他什么,
chmod+xgovim.sh
,然后像
/govim.sh
一样运行它

脚本如下:

#!/bin/bash
mkdir $HOME/.vim/ftdetect
mkdir $HOME/.vim/syntax
mkdir $HOME/.vim/autoload
mkdir $HOME/.vim/autoload/go
mkdir $HOME/.vim/ftplugin
mkdir $HOME/.vim/ftplugin/go
mkdir $HOME/.vim/indent
mkdir $HOME/.vim/compiler
mkdir $HOME/.vim/plugin
mkdir $HOME/.vim/plugin/godoc
ln -s $HOME/.vim/bundle/vim-golang/ftdetect/gofiletype.vim $HOME/.vim/ftdetect
ln -s $HOME/.vim/bundle/vim-golang/syntax/go.vim $HOME/.vim/syntax/
ln -s $HOME/.vim/bundle/vim-golang/autoload/go/complete.vim $HOME/.vim/autoload/go/
ln -s $HOME/.vim/bundle/vim-golang/ftplugin/go.vim $HOME/.vim/ftplugin/
ln -s $HOME/.vim/bundle/vim-golang/ftplugin/go/*.vim $HOME/.vim/ftplugin/go/
ln -s $HOME/.vim/bundle/vim-golang/indent/go.vim $HOME/.vim/indent/
ln -s $HOME/.vim/bundle/vim-golang/compiler/go.vim $HOME/.vim/compiler/
ln -s $HOME/.vim/bundle/vim-golang/plugin/godoc/godoc.vim $HOME/.vim/plugin/godoc/
ln -s $HOME/.vim/bundle/vim-golang/syntax/godoc.vim $HOME/.vim/syntax/
卡钦!你现在已经安装了所有的好东西,如果我在这方面错了,有人会纠正我,但可能比官方的Golang发行版更多。我也不知道这一点,因为我还没有尝试过,但我认为如果您在这里使用Vundle和其他答案,运行时路径/rtp会受到冲击。

这说明:

Place $GOROOT/misc/vim/syntax/go.vim in ~/.vim/syntax/ 
and put the following in ~/.vim/ftdetect/go.vim:

au BufRead,BufNewFile *.go set filetype=go

它对我有效,只是我起初没有找到/misc/vim/go.vim目录。因此,我从另一台安装了go-on/usr/local/go/…

的计算机上复制了这些文件,以获得最佳语法高亮显示效果

这是一个新项目,整合了许多vim插件并添加了许多特性。自述文件:

  • 改进的语法突出显示,如函数、运算符和方法
  • 通过gocode自动完成支持
  • 保存时gofmt更好,保持光标位置,不会破坏撤消历史记录
  • 使用godef转到符号/声明
  • 通过goimports自动导入包
  • 编译并构建您的软件包,使用go install安装
  • 快速运行当前文件
  • 运行go测试并在“快速修复”窗口中查看任何错误
  • 用golint删除代码
  • 通过GoVet运行代码以捕获静态错误
  • 使用oracle的高级源代码分析工具
  • 列出所有源文件和依赖项
  • 使用errcheck检查未检查的错误
  • 集成和改进的代码片段。支持ultisnips或neosnippet
  • 将当前代码共享到play.golang.org

    • 在Debian上,我想在ubuntu上也是一样的,你只是:

      sudo apt-get install vim-gocomplete gocode vim-syntax-go
      vim-addon-manager install go-syntax
      vim-addon-manager install gocode
      
      2015年1月25日


      请参阅,因为现在Go repo中的所有编辑器和shell支持都已删除()

      我没有找到有关为CentOS 7启用vim语法高亮显示的说明。已测试了CentOS 7.3.1611的后续操作说明。首先,在主目录中创建以下目录:

      $ mkdir ~/.vim/ftdetect/
      
      然后,在上述目录中创建一个名为“
      go.vim
      ”的文件,其中包含以下内容:

      au BufRead,BufNewFile *.go set filetype=go
      
      下载Go的语法定义文件:。把它移到右边
      $ sudo mv -i go.vim /usr/share/vim/vim74/syntax/