赞
踩
记录一下配置go和vim插件的过程,以便后续重复安装
这里linux系统是阿里云ECS的centos7.9
首先新的系统更新一下软件包,全程root
yum update
然后下载go的SDK,因为在阿里云中,所以没有考虑额外的网路问题
curl -sSL https://golang.org/dl/ | grep -o -m1 'https://dl.google.com/go/[^\"]*'
这将输出一个类似 https://dl.google.com/go/go1.20.5.linux-amd64.tar.gz 的链接。
wget https://dl.google.com/go/go1.20.5.linux-amd64.tar.gz
tar -xvf go1.20.5.linux-amd64.tar.gz -C /usr/local
rm -f go1.20.5.linux-amd64.tar.gz
export GOROOT=/usr/local/go
export GOPATH=/usr/local/go-project
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
在本地的主机可能需要设置代理
go env -w GOPROXY=https://goproxy.cn
source /etc/profile
检查一下go是否正确安装
go version
cd $GOPATH
mkdir demo ; cd demo
go mod init demo
mkdir checkSDK
vim checkSDK/hello.go
测试 hello.go ,run一下
package main
import "fmt"
func main(){
fmt.Println("Hello")
}
到这里,go的基本环境就配置完成,这里说明一下,关于gomodule环境配置变量默认是on没必要改,proxy变量因为是云服务器,网络较好也没必要改,更多的环境变量用到的时候再改
vim的配置比较繁琐,需要先升级vim到vim8,然后安装vim-plug,==,我们首先先装个git
yum install git
升级vim到vim8以上,这对后续的vim插件安装很重要
yum list installed | grep –i vim
vim-common.x86_64 2:7.4.1868-1.el7.centos @anaconda
vim-enhanced.x86_64 2:7.4.1868-1.el7.centos @anaconda
vim-filesystem.x86_64 2:7.4.1868-1.el7.centos @anaconda
vim-minimal.x86_64 2:7.4.1868-1.el7.centos @anaconda
yum remove vim-enhanced vim-common vim-filesystem vim-minimal
yum install gcc-c++ ncurses-devel python-devel
yum install ctags git tcl-devel \
ruby ruby-devel \
lua lua-devel \
luajit luajit-devel \
python python-devel \
perl perl-devel \
perl-ExtUtils-ParseXS \
perl-ExtUtils-XSpp \
perl-ExtUtils-CBuilder \
perl-ExtUtils-Embed
cd
wget https://github.com/vim/vim/archive/v8.2.3456.tar.gz
cd vim-8.2.3456
./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp \
--enable-pythoninterp \
--enable-perlinterp \
--enable-luainterp \
--enable-gui=no
make
make install
vim --version | head -1
出现
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jun 18 2023 00:48:20)
表示安装完成
装vim-go需要的vim插件管理模块
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
vim ~/.vimrc --------------------------- 1 syntax on 2 filetype plugin indent on 3 set backspace=2 4 set ts=4 5 set expandtab 6 set nu 7 set cursorline 8 set showmatch 9 set incsearch 10 set ignorecase 11 imap <F6> <C-x><C-o> 12 " nmap <F8> :TagbarToggle<CR> 13 inoremap { {<CR><CR>}<Up><Tab> 14 inoremap ( ()<Left> 15 inoremap < <><Left> 16 inoremap [ []<Left> 17 inoremap " ""<Left> 18 inoremap ' ''<Left> 19 20 " setup for NERDTREE 21 " Toggle side window with `CTRL+z`. 22 "map <C-z> :NERDTreeToggle<CR> 23 "let g:NERDTreeDirArrowExpandable = '▸' 24 "let g:NERDTreeDirArrowCollapsible = '▾' 25 "let NERDTreeShowHidden=1 " Show hidden files 26 27 28 " for vim-plug 29 call plug#begin('~/.vim/plugged') 30 " Plug 'stamblerre/gocode', { 'rtp': 'vim', 'do': '~/.vim/gocode/vim/symlink.sh' } 31 Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' } 32 " 可以快速对齐的插件 33 Plug 'junegunn/vim-easy-align' 34 35 Plug 'preservim/nerdtree' 36 " 用来提供一个导航目录的侧边栏 37 Plug 'jistr/vim-nerdtree-tabs' 38 " 可以使 nerdtree 的 tab 更加友好些 39 Plug 'Xuyuanp/nerdtree-git-plugin' 40 " 可以在文档中显示 git 信息 41 Plug 'airblade/vim-gitgutter' 42 " 43 Plug 'vim-airline/vim-airline' 44 " 45 Plug 'tpope/vim-fugitive' 46 " 47 Plug 'dgryski/vim-godef' 48 Plug 'stamblerre/gocode', { 'rtp': 'vim', 'do': '~/.vim/gocode/vim/symlink.sh' } 49 " markdown 插件 50 Plug 'iamcco/mathjax-support-for-mkdp' 51 Plug 'iamcco/markdown-preview.vim' 52 call plug#end()
其中 ‘fatih/vim-go’ 是vim-go插件,其他的插件不是必须的
vim-go安装和其他常用插件的安装详情1 2 3
在 .vimrc 文件写入插件后,需要进行 :PlugInstall 或 vim +PlugInstall 指令
其中 vim-go 插件需要额外进行 :GoInstallBinaries 指令
如果在 :GoInstallBinaries 中出现i/o timeout 需要在环境变量中改代理
export GOPROXY=https://goproxy.cn
gocode是一个非常重要的补全插件,安装需要两个步骤4
cd $GOPATH/bin
go install github.com/mdempsky/gocode@latest
至此基本的vim环境已经配置完成,能够实现语法和括号的自动补全,额外的插件安装待后续补充
演示
hello.go :
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。