我正在尝试使用此处提供的资源和方向向ubuntu上的VIM添加Go语言语法高亮显示http://go-lang.cat-v.org/text-editors/vim/.
Go附带一个go.vim
包含VIM语法设置的文件,上面的页面提供了以下说明
将$ GOROOT/misc/vim/syntax/go.vim放在〜/ .vim/syntax /中,并将以下内容放在〜/ .vim/ftdetect/go.vim中:
au BufRead,BufNewFile *.go set filetype=go
这与我在别处看到的自定义vim语法的过程大致相同(Ubuntu 12.10上的Vim 7.3在任何地方都没有'ftplugin'目录,并且https://github.com/jnwhiteh/vim-golang/blob /master/readme.txt)
所以当我创建目录时,我认为我正在做正确的事:
〜/ .vim
~/.vim/syntax
~/.vim/ftdetect
并按照上述说明添加
go.vim到〜/ .vim/syntax /并创建一个文件go.vim,在〜/ .vim/ftdetect /中包含
au BufRead,BufNewFile *.go set filetype=go
然而,似乎没有出现语法突出显示.我是否需要做些什么来强制VIM查看这些新的设置文件?
更新:
去1.4发行说明
杂记
标准存储库的顶级misc目录,用于包含对编辑器和IDE的Go支持:插件,初始化脚本等.维护这些变得非常耗时并且需要外部帮助,因为列出的许多编辑器并未被核心团队的成员使用.它还要求我们决定哪个插件最适合给定的编辑器,即使对于我们不使用的编辑器也是如此.Go社区更适合管理这些信息.因此,在Go 1.4中,此支持已从存储库中删除.相反,有一个策划的,信息丰富的列表,列出维基页面上可用的内容.
标准的Go发行版包括Vim的Go文件go/misc/vim/
.该目录包含一个readme.txt
包含安装说明的文件.
readme.txt
Go(
http://golang.org
)的Vim插件要使用所有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如果要选择较少的插件,请使用此文件其余部分中的说明.
<< .. SNIP .. >>
在Debian上,我想在ubuntu上是一样的,你只需:
sudo apt-get install vim-gocomplete gocode vim-syntax-go vim-addon-manager install go-syntax vim-addon-manager install gocode
你可以将这些行添加到你的~/.vimrc
:
set rtp+=$GOROOT/misc/vim filetype plugin indent on syntax on
编辑这假定filetype plugin indent off
在这些行之前(即.vimrc
文件的开头)并且如果不是则可能导致问题.有关更安全的版本,请参阅下面的@ peterSO答案.
要获得最佳语法高亮,请尝试https://github.com/fatih/vim-go
这是一个新项目,它整合了许多vim插件并添加了许多功能.从自述文件:
改进的语法突出显示,例如函数,运算符,方法..
通过gocode自动完成支持
保存时更好的gofmt,保持光标位置,不会破坏撤消历史记录
使用godef转到符号/声明
通过goimports自动导入包
编译并构建您的包,使用go install进行安装
快速运行您当前的文件/文件
运行go test并在quickfix窗口中查看任何错误
使用golint提示您的代码
运行你的代码去审查以捕获静态错误.
oracle的高级源分析工具
列出所有源文件和依赖项
检查errcheck是否存在未经检查的错误.
集成和改进的片段.支持ultisnips或neosnippet
将您当前的代码分享到play.golang.org
2015年1月25日
请参阅https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins,因为现在删除了Go repo中的所有编辑器和shell支持(https://codereview.appspot.com/105470043)