Mac 에서 go vim 환경 구축 노트

4436 단어 golangvim
vim - go 설치
  • . vimrc 설정
  • " Plugins managed by vundle
    if (isdirectory(g:vimPath . 'bundle/Vundle.vim'))
        let &runtimepath.=',' . g:vimPath . 'bundle/Vundle.vim'
        call vundle#begin()
        Plugin 'gmarik/Vundle.vim'
        Plugin 'fatih/vim-go'
        call vundle#end()
    endif

    vim - go 플러그 인 을 제외 하고 vundle 플러그 인 을 설치 해 야 합 니 다. 이것 은 vim 플러그 인 관리 도구 입 니 다.
    설정 후 실행:
    :PluginInstall
  • vim - go 에 필요 한 바 이 너 리 파일 설치
  • You will also need to install all the necessary binaries. vim-go makes it easy to install all of them by providing a command, :GoInstallBinaries , which will go get all the required binaries.
    :GoInstallBinaries

    이 동작 은 필요 한 go 바 이 너 리 파일 을 $GOROOT / bin 에 다운로드 합 니 다. 시간 이 초과 되면 수 동 으로 go get 을 다운로드 할 수 있 습 니 다.제 가 사용 한 것 은 go 1.13.8 입 니 다. gopls 다운로드 에 문제 가 있 는 것 을 발견 하고 사용 합 니 다.
    git clone https://github.com/Go-zh/tools.git

    그것 을 $GOPATH/src/github.com/Go-zh/tools 에 놓 고,
    그리고 설치
    cd $GOPATH/src  
    go install github.com/Go-zh/tools/cmd/gopls

    이 단계 가 안 되면 cmd 디 렉 터 리 에 들 어가 고 build 는 바 이 너 리 파일 gopls 를 받 아 $GOROOT / bin 에 넣 습 니 다.
    마지막 으로 .vimrc
    let g:go_def_mode = 'gopls'
    let g:go_info_mode='gopls'

    language server
    gopls (pronounced: "go please") is the official language server for the Go language.
    gopls 는 golang 의 공식 language server 입 니 다.
    LSP 가 왜 필요 합 니까?LSP 는 어떤 문 제 를 해결 할 수 있 습 니까?
    전통 적 으로 IDE 를 설치 하면 오프라인 으로 사용 하 더 라 도 문법 검사, 자동 완성, 위치 이동, 참조 찾기 등 기능 을 해결 할 수 있다.왜 '언어 서버' 를 귀 찮 게 합 니까?오프라인 상태 에서 Sublime, Eclipse 등 IDE 를 사용 하여 상기 문법 특성 검 사 를 완성 할 수 있 으 며 이러한 IDE 의 문법 특성 검사 기능 이 모두 현지에서 실현 되 었 음 을 설명 할 수 있다.뿐만 아니 라 각 IDE 는 각 집의 실현 이 있다.즉, 자바 IDE 의 경우 자바 의 문법 특성 검사 에 대해 IntelliJ IDEA 는 나 름 대로 의 실현 이 있 고, 이 클립 스 도 나 름 대로 의 실현 이 있다 는 것 이다.IntelliJ IDEA 는 scala 언어 를 직접 지원 하 지 는 않 지만 확장 플러그 인 을 설치 하여 지원 할 수 있 습 니 다. 이 지원 scala 플러그 인 은 IntelliJ 를 따라 야 합 니 다. IDEA 의 플러그 인 규범 을 실현 합 니 다. 이 플러그 인 은 eclipse 에 직접 사용 할 수 없습니다.
    문제 알 아 봤 어?모든 IDE 에서 프로 그래 밍 언어 를 지원 하 는 언어 특성 검사 기능 을 제공 하려 면 복잡 도 는 MN 입 니 다!M 가지 프로 그래 밍 언어 가 있 고 N 가지 IDE 가 있 으 면 MN 가지 플러그 인 (내장) 의 실현 이 필요 합 니 다.
    한편, LSP 는 이러한 국면 을 바 꾸 었 기 때문에 프로 그래 밍 언어 커 뮤 니 티 는 문법 검사, 자동 완성, 위치 전환, 참조 검색 등 언어 특성 검 사 를 제공 할 수 있 는 고성능 '언어 서버' 를 계속 보완 하 는 데 전념 할 수 있다.이와 함께 IDE 업 체 와 조직 은 모든 '언어 서버' 와 의 상호작용 과 '렌 더 링' 응답 데 이 터 를 제공 하 는 실현 방안 에 만 전념 하면 된다.
    우 리 는 더 이상 IntelliJ IDEA 를 위해 파 이 썬 플러그 인 을 쓸 필요 가 없다. Sublime Text 를 위해 파 이 썬 플러그 인 을 만 들 고 Vim 을 위해 서도 파 이 썬 플러그 인 을 만 들 필요 가 없다. 우 리 는 파 이 썬 커 뮤 니 티 에 다양한 언어 특성 검 사 를 제공 할 수 있 는 '파 이 썬 언어 서버' 를 기여 해 야 합 니 다. 이 언어 서버 는 LSP 를 지원 합 니 다.그리고 모든 IDE 는 LSP 만 지원 하면 이 'Python 언어 서버' 와 직접 상호작용 을 하여 Python 언어 를 검사 하 는 효 과 를 실현 할 수 있 습 니 다.
    보완 도구, coc. nvim 설치
  • 먼저 coc. nvim 플러그 인 관리 도구 vim - plug
  • 를 설치 해 야 합 니 다.
    curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  • 그리고 coc. nvim 플러그 인 을 설치 하면 됩 니 다
  • call plug#begin('~/.vim/plugged')
        " Use release branch (Recommend)
        Plug 'neoclide/coc.nvim', {'branch': 'release'}
    call plug#end()

    vim 버 전 필수 > = 8.0.1453
    부 딪 힌 구덩이
  • 코드 전환 시 godef no object
  • vimrc 에 가입
    let g:go_def_mode = 'gopls'

    오류 보고
    no file information for file

    해결 방법:
    go list         

    이 디 렉 터 리 에 go 파일 이 있 는 package 에 문제 가 있 음 을 알 렸 습 니 다. 정확 한 package 로 고치 면 바로 이동 할 수 있 습 니 다.go list 명령 의 역할 은 지정 한 코드 패키지 의 정 보 를 보 여 주 는 것 입 니 다. 지정 한 코드 패키지 의 더 깊 은 정 보 를 제공 할 수 있 습 니 다.
    자세히 보기:
    https://www.cntofu.com/book/1...
  • go mod 국내 대리
  • 자세 한 내용 은 문장 참조: https://segmentfault.com/a/11... 사용:
    go env -w GOPROXY=https://goproxy.cn,direct

    참고 문장
    https://blog.csdn.net/u012930...

    좋은 웹페이지 즐겨찾기