Mac 에서 go vim 환경 구축 노트
" 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
: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 설치
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
call plug#begin('~/.vim/plugged')
" Use release branch (Recommend)
Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()
vim 버 전 필수 > = 8.0.1453
부 딪 힌 구덩이
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 env -w GOPROXY=https://goproxy.cn,direct
참고 문장
https://blog.csdn.net/u012930...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
set containerThere is no built-in set container in Go How to implement Set struct{} => type struct{}{} => 0bytes How to create set :=...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.