set nocompatible " be iMproved, required " 🔑 (key) let mapleader="," filetype off "required set foldmethod=indent " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " The following are examples of different formats supported. " Keep Plugin commands between vundle#begin/end. " plugin on GitHub repo " Plugin 'tpope/vim-fugitive' " plugin from http://vim-scripts.org/vim/scripts.html Plugin 'L9' " The sparkup vim script is in a subdirectory of this repo called vim. " Pass the path to set the runtimepath properly. " Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} " Plugin 'nsf/gocode',{'rtp':'vim/'} Plugin 'fatih/vim-go' Bundle 'scrooloose/nerdtree' "Bundle 'cespare/vim-golang' " Bundle 'dgryski/vim-godef' Plugin 'Valloric/YouCompleteMe' " Plugin 'SirVer/ultisnips' " Plugin 'majutsushi/tagbar' Plugin 'vim-scripts/taglist.vim' " Plugin 'junegunn/vim-emoji' " Plugin 'rjohnsondev/vim-compiler-go' " Plugin 'dgryski/vim-godef' " Plugin 'davidhalter/jedi-vim' " Plugin 'scrooloose/syntastic' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " nmap <C-h> <C-w>h nmap <C-l> <C-w>l nmap <C-j> <C-w>j nmap <C-k> <C-w>k " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line map <C-n> :NERDTreeToggle<CR> map <C-t> :b 1 <CR> Bundle 'majutsushi/tagbar' nmap <Leader>t :TagbarToggle<CR> let g:tagbar_width = 25 autocmd VimEnter * nested :call tagbar#autoopen(1) autocmd BufWritePre *.go:Fmt let g:tagbar_right = 1 let g:tagbar_type_go = { \ 'ctagstype' : 'go', \ 'kinds' : [ \ 'p:package', \ 'i:imports:1', \ 'c:constants', \ 'v:variables', \ 't:types', \ 'n:interfaces', \ 'w:fields', \ 'e:embedded', \ 'm:methods', \ 'r:constructor', \ 'f:functions' \ ], \ 'sro' : '.', \ 'kind2scope' : { \ 't' : 'ctype', \ 'n' : 'ntype' \ }, \ 'scope2kind' : { \ 'ctype' : 't', \ 'ntype' : 'n' \ }, \ 'ctagsbin' : 'gotags', \ 'ctagsargs' : '-sort -silent' \ } let g:molokai_original = 1 let g:rehash256 = 1 set sw=4 colorscheme molokai set nu set ts=4 set expandtab syntax on let g:go_highlight_functions = 1 let g:go_highlight_methods = 1 let g:go_highlight_structs = 1 let g:go_highlight_operators = 1 let g:go_highlight_build_constraints = 1 let g:go_fmt_command = "goimports" let g:go_fmt_fail_silently = 1 let g:syntastic_go_checkers = ['golint', 'govet', 'errcheck'] let g:syntastic_mode_map = { 'mode': 'active', 'passive_filetypes': ['go'] } let g:UltiSnipsExpandTrigger="<C-g>" "godef "will open the definition in a new tab let g:godef_split=2 let g:godef_same_file_in_same_window=1 au FileType go nmap <leader>r <Plug>(go-run) au FileType go nmap <leader>b <Plug>(go-build) au FileType go nmap <leader>T <Plug>(go-test) au FileType go nmap <leader>c <Plug>(go-coverage) au FileType go nmap <Leader>ds <Plug>(go-def-split) au FileType go nmap <Leader>dv <Plug>(go-def-vertical) au FileType go nmap <Leader>dt <Plug>(go-def-tab) "set statusline+=%#warningmsg# "set statusline+=%{SyntasticStatuslineFlag()} "set statusline+=%* let g:syntastic_always_populate_loc_list = 1 let g:syntastic_auto_loc_list = 1 let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0 set rtp+=$GOPATH/src/github.com/golang/lint/misc/vim autocmd BufWritePost,FileWritePost *.go execute 'Lint' | cwindow " "if emoji#available() " let g:gitgutter_sign_added = emoji#for('small_blue_diamond') " let g:gitgutter_sign_modified = emoji#for('small_orange_diamond') " let g:gitgutter_sign_removed = emoji#for('small_red_triangle') " let g:gitgutter_sign_modified_removed = emoji#for('collision') " endif "e set completefunc=emoji#complete map <C-e> :%s/:\([^:]\+\):/\=emoji#for(submatch(1), submatch(0))/g <CR>