golang 走起(九) linux 下 go语言 vim设置
在linux下安装 vundle.vim,请参照https://github.com/VundleVim/Vundle.vim获取和配置
打开.vimrc,如果没有可以创建.vimrc,复制如下内容到.vimrc
" An example for a vimrc file. "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Last change: 2014 Nov 05
" " To use it,copy it to
" for Unix and OS/2: ~/.vimrc " for Amiga: s:.vimrc
" for MS-DOS and Win32: $VIM\_vimrc " for OpenVMS: sys$login:.vimrc
set nocompatible " be iMproved,required filetype off " required
" set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " let Vundle manage Vundle,required
Plugin 'gmarik/Vundle.vim'
" All of your Plugins must be added before the following line Plugin 'fatih/vim-go' call vundle#end() " required
filetype plugin indent on " required " When started as "evim",evim.vim will already have done these settings.
if v:progname =~? "evim"
finish
endif
" Use Vim settings,rather than Vi settings (much better!). " This must be first,because it changes other options as a side effect.
set nocompatible
" allow backspacing over everything in insert mode set backspace=indent,eol,start if has("vms") set nobackup " do not keep a backup file,use versions instead
else
set backup " keep a backup file (restore to prevIoUs version) set undofile " keep an undo file (undo changes after closing)
endif
set history=50 " keep 50 lines of command line history set ruler " show the cursor position all the time
set showcmd " display incomplete commands set incsearch " do incremental searching
" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries " let &guioptions = substitute(&guioptions,"t","","g")
" Don't use Ex mode,use Q for formatting map Q gq " CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo," so that you can undo CTRL-U after inserting a line break. inoremap <C-U> <C-G>u<C-U> " In many terminal emulators the mouse works just fine,thus enable it.
if has('mouse')
set mouse=a
endif
" Switch Syntax highlighting on,when the terminal has colors " Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
Syntax on
set hlsearch
endif
" Only do this part when compiled with support for autocommands. if has("autocmd") " Enable file type detection.
" Use the default filetype settings,so that mail gets 'tw' set to 72," 'cindent' is on in C files,etc.
" Also load indent files,to automatically do language-dependent indenting. filetype plugin indent on " Put these in an autocmd group,so that we can delete them easily.
augroup vimrcEx
au!
" For all text files set 'textwidth' to 78 characters. autocmd FileType text setlocal textwidth=78 " When editing a file,always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler " (happens when dropping a file on gvim).
" Also don't do it when the mark is in the first line,that is the default " position when opening a file.
autocmd BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
augroup END
else
set autoindent " always set autoindenting on endif " has("autocmd")
" Convenient command to see the difference between the current buffer and the " file it was loaded from,thus the changes you made.
" Only define it when not defined already. if !exists(":DiffOrig") command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis \ | wincmd p | diffthis endif if has('langmap') && exists('+langnoremap') " Prevent that the langmap option applies to characters that result from a
" mapping. If unset (default),this may break plugins (but it's backward " compatible).
set langnoremap
endif
set nu
set tabstop=4
set softtabstop=4
set shiftwidth=4
set nobackup
" 这里是ctags set tags=/home/.../go/go/tags set tags+=/home/.../go/dev/danmu/tags
- 使用vim打开.vimrc,使用命令:PluginInstall,就可以下载相应的plugin包了
这里就可以使用vim 编辑.go 文件了
如果还需要,可以使用最新的ctags,一定要最新的,否则不支持.go 的tags