vim-go를 설치해 보았습니다 (소요 시간 : 15 분)

4830 단어 5vimrcVimVagrant

개요



golang의 개발 환경은 많이 존재하지만, B2B의 현장에서는 예를 들면 intellij의 도입이 허가되어 있지 않고, 소프트웨어의 인스톨에 장애물이 있어, 사용하고 싶은 IDE를 도입할 수 없는 경우가 있다. 그 중에서도 비교적 도입하기 쉬운 vim에 golang의 개발 환경을 설정하고 필요 최소한으로 golang의 개발 환경을 정돈해 보았다.
vim-go는 공식에서 설치하기로 결정합니다.

본 기사에서는, 가상 환경상에 vim-go를 도입하는 순서를 나타낸다.

전제


  • 가상 환경에 golang이 설치되어 있습니다. 여기 에서 환경 구축

  • 절차



    1. 전제와 같이 여기의 순서로 환경을 구축한다.

    2. terminal에서 vagrant로 ssh한다
    $ cd /path/to/vagrant/golang/vagrant
    $ vagrant ssh
    

    3. NeoBundle 설치
    [vagrant@develop ~]$ curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh > install.sh
    [vagrant@develop ~]$ sh ./install.sh
    [vagrant@develop ~]$ rm -rf install.sh
    

    4. 홈 디렉토리에 .vimrc를 만듭니다.
    [vagrant@develop ~]$ vi ~/.vimrc
    

    .vimrc
    set encoding=utf-8
    set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
    set fileformats=unix,dos,mac
    
    " Note: Skip initialization for vim-tiny or vim-small.
    if 0 | endif
    
    if &compatible
      set nocompatible               " Be iMproved
    endif
    
    " Required:
    set runtimepath^=~/.vim/bundle/neobundle.vim/
    
    " Required:
    call neobundle#begin(expand('~/.vim/bundle/'))
    
    " Let NeoBundle manage NeoBundle
    " Required:
    NeoBundleFetch 'Shougo/neobundle.vim'
    
    " My Bundles here:
    " Refer to |:NeoBundle-examples|.
    " Note: You don't set neobundle setting in .gvimrc!
    
    call neobundle#end()
    
    " Required:
    filetype plugin indent on
    
    " If there are uninstalled bundles found on startup,
    " this will conveniently prompt you to install them.
    NeoBundleCheck
    

    5. vim을 시작한다.
    [vagrant@develop ~]$ vim
    

    6. 설치가 시작되므로 y를 입력합니다.
    Not installed bundles:  ['vim-go']
    Install bundles now?
    (y)es, [N]o:
    

    7. 완료 후 :q로 vim을 종료한다.

    8. .vimrc의 ""Note: You don't set neobundle setting in .gvimrc!"아래에 다음 행을 추가하고 저장한다.
    NeoBundle 'fatih/vim-go'
    

    9. 다시 vim을 기동하면, vim-go의 인스톨을 듣기 때문에 「y」를 입력해, 인스톨을 개시한다.
    Not installed bundles:  ['vim-go']
    Install bundles now?
    (y)es, [N]o:
    

    10. 완료 후, :q로 vim을 종료하고, 다시 vim을 기동한다.

    11. vim에서 ": GoInstallBinaries"를 입력하여 go 패키지 설치를 시작합니다. 다음과 같이 설치가 시작됩니다.
    vim-go: gocode not found. Installing github.com/nsf/gocode to folder /home/vagrant/go/bin/
    
    vim-go: gometalinter not found. Installing github.com/alecthomas/gometalinter to folder /h
    ome/vagrant/go/bin/
    vim-go: goimports not found. Installing golang.org/x/tools/cmd/goimports to folder /home/v
    agrant/go/bin/
    vim-go: godef not found. Installing github.com/rogpeppe/godef to folder /home/vagrant/go/b
    in/
    vim-go: oracle not found. Installing golang.org/x/tools/cmd/oracle to folder /home/vagrant
    /go/bin/
    vim-go: gorename not found. Installing golang.org/x/tools/cmd/gorename to folder /home/vag
    rant/go/bin/
    vim-go: golint not found. Installing github.com/golang/lint/golint to folder /home/vagrant
    /go/bin/
    vim-go: errcheck not found. Installing github.com/kisielk/errcheck to folder /home/vagrant
    /go/bin/
    vim-go: gotags not found. Installing github.com/jstemmer/gotags to folder /home/vagrant/go
    /bin/
    vim-go: asmfmt not found. Installing github.com/klauspost/asmfmt/cmd/asmfmt to folder /hom
    e/vagrant/go/bin/
    Press ENTER or type command to continue
    

    완료입니다.

    동작 확인



    1. 이하의 커멘드로 go 파일을 신규 작성한다.
    vim main.go
    

    2. 이하의 포맷 엄청난 코드 내용을 기술한다

    main.go
    package        main
    
    import              "fmt"
    
    func   main() {
    
    }
    

    3. 이하의 명령을 실행하면
    :GoFmt
    

    형식이 걸립니다.

    main.go
    package main
    
    import "fmt"
    
    func main() {
    }
    

    4. main 함수 내에서 "fmt."를 입력하고 그대로 control 키를 누른 상태에서 x, o를 입력하면 다음과 같이 입력 완성이 시작됩니다.



    5. 이하의 명령을 실행하면
    :GoRun
    

    실행 가능
    vim main.go
    
    Hello vim-go!
    
    Press ENTER or type command to continue
    

    미안해!

    참고


  • vim-go 공식 페이지
  • 좋은 웹페이지 즐겨찾기