>  기사  >  백엔드 개발  >  vim golang 자동 점프

vim golang 자동 점프

王林
王林원래의
2023-05-14 16:31:07973검색

Vim을 사용하여 Go 코드를 편집할 때 함수나 변수 정의로 이동해야 하는 상황에 자주 직면합니다. Vim에서는 이를 달성하기 위해 몇 가지 플러그인이나 트릭을 사용할 수 있습니다. 이 기사에서는 자동 점프를 달성하기 위해 Gutentags 및 vim-go를 사용하는 방법 중 하나를 소개합니다.

1. Gutentags 설치

gutentags는 태그 파일을 생성하는 데 사용되는 Vim 플러그인으로, 코드를 빠르게 탐색하고 파일에서 변수 및 함수 정의를 찾는 데 도움이 됩니다. 구텐태그를 설치하지 않은 경우 다음 명령을 사용하여 설치할 수 있습니다.

//Vundle
Plugin 'ludovicchabant/vim-gutentags'

//NeoBundle
NeoBundle 'ludovicchabant/vim-gutentags'

//vim-plug
Plug 'ludovicchabant/vim-gutentags'

설치가 완료된 후 Vim에서 ":help Gutentags"를 실행하여 구텐태그 사용 지침을 확인하세요.

2. vim-go 설치

vim-go는 Go 언어 개발자를 위해 설계된 Vim 플러그인으로, Go 언어 프로그램을 빠르게 작성, 디버그 및 테스트하는 데 도움이 됩니다. vim-go를 설치하지 않은 경우 다음 명령을 사용하여 설치할 수 있습니다.

//Vundle
Plugin 'fatih/vim-go'

//NeoBundle
NeoBundle 'fatih/vim-go'

//vim-plug
Plug 'fatih/vim-go'

설치가 완료된 후 Vim에서 ":help go"를 실행하여 vim-go 사용 지침을 확인하세요.

3. Gutentags 및 vim-go 구성

gutentags 및 vim-go를 설치한 후 자동 점프 기능을 구현하기 위해 함께 작동할 수 있도록 구성해야 합니다.

  1. gutentags 구성

.vimrc 파일에 다음 구성을 추가하세요.

let g:gutentags_project_root = ['.git', '.svn', '.hg']
let g:gutentags_cache_dir = '~/.vim/tags'
let g:gutentags_file_list_command = 'git ls-files'
let g:gutentags_generate_on_write = 1

이 구성 항목의 의미는 다음과 같습니다.

  • g:gutentags_project_root: 태그 파일을 검색할 때 프로젝트 루트 디렉터리를 지정합니다. 프로젝트 루트 디렉터리와 해당 하위 디렉터리에 있어야 합니다.
  • g:gutentags_cache_dir: 태그 파일의 저장 경로를 지정합니다. Gutentags는 생성된 태그 파일을 캐시하므로 다음에 동일한 파일이나 변수를 검색할 때 태그 파일을 다시 생성할 필요가 없습니다.
  • g:gutentags_file_list_command: 현재 프로젝트의 파일을 나열하는 방법을 지정합니다. 여기서는 git ls-files 명령을 사용하여 파일 목록을 가져왔지만 다른 명령도 사용할 수 있습니다.
  • g:gutentags_generate_on_write: 파일 저장 시 태그 파일을 자동으로 생성할지 여부를 지정합니다.
  1. vim-go 구성

.vimrc 파일에 다음 구성을 추가하세요.

let g:go_def_mode='gopls'
let g:go_auto_sameids = 1
let g:go_list_type = "quickfix"
let g:go_list_autowin = 1
let g:go_fmt_command = "goimports"
let g:go_complete_unimported = 1
let g:go_def_mapping_enabled = 0

이 구성 항목의 의미는 다음과 같습니다.

  • g:go_def_mode: 점프 정의를 위한 백엔드로 gopls 사용을 지정합니다. , 이것은 Go 언어에서 공식적으로 제공하는 언어 서버입니다.
  • g:go_auto_sameids: 동일한 파일의 다른 함수 또는 변수 정의로 이동할 때 태그 파일을 자동으로 업데이트할지 여부를 지정합니다.
  • g:go_list_type: Quickfix 창을 사용하여 관련 정보를 표시하도록 지정합니다.
  • g:go_list_autowin: Quickfix 창을 열 때 첫 번째 오류 항목으로 자동으로 이동할지 여부를 지정합니다.
  • g:go_fmt_command: 코드 형식을 지정하기 위해 goimports 사용을 지정합니다.
  • g:go_complete_unimported: 가져오지 않은 패키지를 완료에 포함할지 여부를 지정합니다.
  • g:go_def_mapping_enabled: GoDef 명령에 대한 단축키 매핑을 활성화할지 여부를 지정합니다.

4. 자동 점프 실현

gutentags 및 vim-go를 구성한 후 Vim에서 Go 파일을 열고 커서를 함수나 변수로 옮긴 다음 "gd" 단축키를 눌러 자동으로 해당 항목으로 이동할 수 있습니다. 정의된 위치.

자동 점프 프로세스 중에 Gutentags는 자동으로 태그 파일을 생성합니다. 파일이 이미 존재하는 경우 직접 사용됩니다. 동일한 파일의 다른 함수 또는 변수 정의로 점프할 때 vim-go는 다음 점프에서 정의 위치를 ​​정확하게 찾을 수 있도록 태그 파일을 자동으로 업데이트합니다. 위의 방법을 사용하면 작성 효율성이 크게 향상되고 코드에서 변수 및 함수 정의를 빠르게 탐색하고 찾을 수 있습니다.

위 내용은 vim golang 자동 점프의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.