vim goLang
来源:互联网 发布:ug编程工资 编辑:程序博客网 时间:2024/06/13 16:12
折腾了 3天终于找到一个 goLang vim的好配置了
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
首先添加 Vundle 管理工具
vim 直接用yum 添加就可以了
然后修改家目录下面的 .vimrc文件
syntax on" set color theme"colorscheme busybeeset background=dark" solarized options colorscheme solarized" Configuration section of vundlefiletype off " required!set rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()" let Vundle manage Vundle" required!Plugin 'VundleVim/Vundle.vim'" My Bundles here:Plugin 'mileszs/ack.vim'Plugin 'mattn/emmet-vim'Plugin 'ervandew/supertab'Plugin 'scrooloose/nerdtree'Plugin 'scrooloose/nerdcommenter'Plugin 'majutsushi/tagbar'Plugin 'kien/ctrlp.vim' Plugin 'vim-scripts/xml.vim'Plugin 'jiangmiao/auto-pairs'Plugin 'flazz/vim-colorschemes'Plugin 'honza/vim-snippets'Plugin 'tpope/vim-dispatch'Plugin 'tpope/vim-fugitive'Plugin 'tpope/vim-surround'Plugin 'tpope/vim-repeat'Plugin 'tpope/vim-rails'Plugin 'bling/vim-airline'Plugin 'Lokaltog/vim-easymotion'Plugin 'TimothyYe/vim-tips'Plugin 'Shougo/neocomplete'Plugin 'mhinz/vim-startify'Plugin 'vim-scripts/wildfire.vim'Plugin 'nathanaelkane/vim-indent-guides'Plugin 'yonchu/accelerated-smooth-scroll'Plugin 'ianva/vim-youdao-translater'Plugin 'elixir-lang/vim-elixir'Plugin 'matze/vim-move'" For fun...Plugin 'uguu-org/vim-matrix-screensaver'"Plugins for golangPlugin 'fatih/vim-go'"goimports settings"autocmd BufWritePre *.go :Fmtcall vundle#end()filetype plugin indent on " required! " End of vundle configurationlet g:airline_theme='light' let g:neocomplete#enable_at_startup = 1let g:neocomplete#enable_smart_case = 1let g:neocomplete#sources#syntax#min_keyword_length = 2"For vim-movelet g:move_key_modifier = 'C'"For acklet g:ackprg = 'ag --nogroup --nocolor --column'"Settings for Golanglet g:go_fmt_command = "goimports"let g:go_highlight_functions = 1let g:go_highlight_methods = 1let g:go_highlight_structs = 1let g:go_highlight_operators = 1let g:go_highlight_build_constraints = 1au FileType go nmap <Leader>i <Plug>(go-info)au FileType go nmap <Leader>gd <Plug>(go-doc)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 gd <Plug>(go-def-tab)"For Youdao Translater Pluginvnoremap <silent> <C-T> <Esc>:Ydv<CR> nnoremap <silent> <C-T> <Esc>:Ydc<CR> inoremap jj <Esc> "Powerline setting"Set GUI font typeif has("gui_running")set guifont=Source\ Code\ Pro\:h18endiflet g:airline_powerline_fonts = 1"improve autocomplete menu colorhighlight Pmenu ctermbg=238 gui=bold"Setup SuperTablet g:SuperTabRetainCompletionType="context""For Indent Guides Pluginlet g:indent_guides_enable_on_vim_startup = 1" 设定文件浏览器目录为当前目录 set bsdir=buffer " 设置编码 set encoding=utf-8 set nocompatibleset laststatus=2" 设置文件编码 set fenc=utf-8 "set to use clipboard of systemset clipboard=unnamed" 设置文件编码检测类型及支持格式 set fencs=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 "显示行号 set number"Show related row numbersset relativenumber"settings for backspaceset backspace=2set backspace=indent,eol,start"忽略大小写查找set ic" tab宽度 set tabstop=2 set cindent shiftwidth=2 set autoindent shiftwidth=2 " set 折叠set foldmethod=indent" 打开文件默认不折叠set foldlevelstart=99"set my leaderlet mapleader="\<Space>"let g:mapleader="\<Space>""tabsnmap <leader>tn :tabnew<cr>nmap <leader>te :tabeditnmap <leader>tc :tabclose<cr>nmap <leader>tm :tabmove" 映射NERDTree插件:map <leader>n :NERDTree<CR> "let loaded_nerd_tree=1let NERDTreeQuitOnOpen = 1let NERDChristmasTree=1let g:NERDTreeWinSize = 32 map <leader>f :NERDTreeToggle<CR>" Settings for vim-easymotionlet g:EasyMotion_leader_key = ",""Settings for TagBarmap <leader>g :TagbarToggle<CR>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'\ }"switch window:map <leader>w <C-W>w"set zen coding let g:user_zen_settings = { \ 'php' : { \ 'extends' : 'html', \ 'filters' : 'c', \ }, \ 'xml' : { \ 'extends' : 'html', \ }, \ 'haml' : { \ 'extends' : 'html', \ }, \ 'erb' : { \ 'extends' : 'html', \ }, \}"set CtrlPlet g:ctrlp_map = '<c-p>'let g:ctrlp_cmd = 'CtrlP'let g:ctrlp_custom_ignore = '\.git$\|\.hg$\|\.svn$\|.rvm$'let g:ctrlp_working_path_mode=0let g:ctrlp_match_window_bottom=1let g:ctrlp_max_height=15let g:ctrlp_match_window_reversed=0let g:ctrlp_mruf_max=500let g:ctrlp_follow_symlinks=1"use in editimap <C-A> <C-C><c-p>set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.jpg,*.png,*.gif,*.jpeg,.DS_Store " MacOSX/Linuxlet g:ctrlp_custom_ignore = '\.git$\|\.hg$\|\.svn$'" move lines up or down (command - D)nmap <D-j> mz:m+<cr>`znmap <D-k> mz:m-2<cr>`zvmap <D-j> :m'>+<cr>`<my`>mzgv`yo`zvmap <D-k> :m'<-2<cr>`>my`<mzgv`yo`z" Tab move lines left or right (c-Ctrl,s-Shift)nmap <c-tab> v>nmap <s-tab> v<vmap <c-tab> >gvvmap <s-tab> <gv" tab navigation like zsh:nmap <leader>h :tabprevious<CR>:nmap <leader>l :tabnext<CR>" settings for resize splitted windownmap w[ :vertical resize -3<CR>nmap w] :vertical resize +3<CR>nmap w- :resize -3<CR>nmap w= :resize +3<CR>"markdown hightlightlet g:octopress_rake_executable = '/usr/bin/rake'"scss,sassau BufRead,BufNewFile *.scss set filetype=scssau BufRead,BufNewFile *.sass set filetype=scss"coffee scriptau BufWritePost *.coffee silent CoffeeMake!au BufWritePost *.coffee :CoffeeCompile watch vert"let skim use slim syntaxau BufRead,BufNewFile *.skim set filetype=slim"ctagsset tags+=~/gitdb/rails/tags"auto completed" Disable AutoComplPop.let g:acp_enableAtStartup = 0" Enable omni completion.autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSSautocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTagsautocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJSautocmd FileType python setlocal omnifunc=pythoncomplete#Completeautocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags" Enable heavy omni completion.if !exists('g:neocomplcache_omni_patterns') let g:neocomplcache_omni_patterns = {}endiflet g:neocomplcache_omni_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'" code searchlet g:ackprg = 'ag --nogroup --nocolor --column'silent! call repeat#set("\<Plug>MyWonderfulMap", v:count)" For startify
修改完成后。直接使用vim一下
然后在命令运行 :PluginInstall
等待完成插件安装。打开go文件查看效果
随后运行 :GoInstallBinaries
安装对应扩展包,实现包函数提示
0 0
- vim goLang
- VIM 配置 Pythonic Golang
- GoLang之Gvim/Vim配置
- Golang-Vim环境搭建-OSX
- golang vim ide 环境搭建
- golang---vim语法高亮
- Vim搭建Golang开发环境
- 基于vim的golang开发环境配置
- Golang开发环境搭建-Vim篇
- Golang开发环境搭建-Vim篇
- ubuntu/centos vim配置golang开发环境
- Golang开发环境搭建-Vim篇
- 把vim当做golang的IDE
- Golang开发环境搭建-Vim篇
- Golang之VIM IDE快速打造
- YouCompleteMe 支持 golang vim 自动补全
- C++ golang Centos7.4 vim 编码环境
- vim 安装vim-go 打造GOLANG 专用IDE
- 系统高并发问题处理
- Maven大概认识
- Uva 11100 The Trip
- Java基础知识IO流(异常的日志信息&系统信息)
- eclipse插件jd-eclipse的使用
- vim goLang
- Redis安装部署
- 技术入股创业一年,家庭收入变成负5万
- 工作日志——基于k8s搭建spark集群
- Python MySQL 数据库连接
- Qt:绘画箭头线段
- 开启文件管理时 URI获取文件路径为null的解决方法
- Qt Quick Material开源组件ApplicationWindow
- 给定一个正整数的二进制表示