1
0
mirror of https://github.com/golang/go synced 2024-11-18 00:14:47 -07:00
go/misc/vim
Paul Sbarra 41f4ba3ae5 vim: fix go filetype detection
The filetype needs to be set during BufRead in order for the did_filetype() check to prevent the file being detected as a conf file.  One example where this can occur is if a cgo file has a #include at the top of the file.  The # is detected in vim's generic configuration (conf file) toward the bottom of filetype.vim

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/5496066
2011-12-19 10:42:32 +11:00
..
autoload/go misc/vim: command complete using autoload helper function. 2011-08-18 11:50:55 +10:00
ftdetect vim: fix go filetype detection 2011-12-19 10:42:32 +11:00
ftplugin/go vim: Send GoFmt errors to a location list 2011-09-23 09:38:10 +10:00
indent
plugin misc/vim: command complete using autoload helper function. 2011-08-18 11:50:55 +10:00
syntax misc/vim: add error type. 2011-11-01 21:47:07 -04:00
readme.txt misc/vim: command complete using autoload helper function. 2011-08-18 11:50:55 +10:00

Vim plugins for Go (http://golang.org)
======================================

To use all the Vim plugins, add these lines to your vimrc.

  set rtp+=$GOROOT/misc/vim
  filetype plugin indent on
  syntax on

If you want to select fewer plugins, use the instructions in the rest of
this file.

Vim syntax highlighting
-----------------------

To install automatic syntax highlighting for GO programs:

  1. Copy or link the filetype detection script to the ftdetect directory
     underneath your vim runtime directory (normally $HOME/.vim/ftdetect)
  2. Copy or link syntax/go.vim to the syntax directory underneath your vim
     runtime directory (normally $HOME/.vim/syntax). Linking this file rather
     than just copying it will ensure any changes are automatically reflected
     in your syntax highlighting.
  3. Add the following line to your .vimrc file (normally $HOME/.vimrc):

     syntax on

In a typical unix environment you might accomplish this using the following
commands:

  mkdir -p $HOME/.vim/ftdetect
  mkdir -p $HOME/.vim/syntax
  mkdir -p $HOME/.vim/autoload/go
  ln -s $GOROOT/misc/vim/ftdetect/gofiletype.vim $HOME/.vim/ftdetect/
  ln -s $GOROOT/misc/vim/syntax/go.vim $HOME/.vim/syntax
  ln -s $GOROOT/misc/vim/autoload/go/complete.vim $HOME/.vim/autoload/go
  echo "syntax on" >> $HOME/.vimrc


Vim filetype plugins
--------------------

To install one of the available filetype plugins:

  1. Same as 1 above.
  2. Copy or link one or more plugins from ftplugin/go/*.vim to the
     Go-specific ftplugin directory underneath your vim runtime directory
     (normally $HOME/.vim/ftplugin/go/*.vim).
  3. Add the following line to your .vimrc file (normally $HOME/.vimrc):

     filetype plugin on


Vim indentation plugin
----------------------

To install automatic indentation:

  1. Same as 1 above.
  2. Copy or link indent/go.vim to the indent directory underneath your vim
     runtime directory (normally $HOME/.vim/indent).
  3. Add the following line to your .vimrc file (normally $HOME/.vimrc):

     filetype indent on


Godoc plugin
------------

To install godoc plugin:

  1. Same as 1 above.
  2. Copy or link plugin/godoc.vim to $HOME/.vim/plugin/godoc,
     syntax/godoc.vim to $HOME/.vim/syntax/godoc.vim,
     ftplugin/go/godoc.vim to $HOME/.vim/ftplugin/go/godoc.vim.
     and autoload/go/complete.vim to $HOME/.vim/autoload/go/complete.vim.