После Go1.16 как вы пишете Go эскизы в vim?

Спасибо за вопрос! Если вы пишете на Go и используете Vim в качестве редактора кода, vim-go - это отличный инструмент, который обеспечивает множество функций и возможностей для разработки на Go.

Однако, начиная с Go 1.16, рекомендуется использовать официальный модуль lsp-mode в Vim для редактирования и разработки на Go. LSP (Language Server Protocol) - это общий протокол для взаимодействия между редакторами кода и инструментами IDE, позволяющий разработчикам использовать функции и возможности языковых серверов.

Вот шаги, которые следует выполнить, чтобы настроить Vim для разработки на Go с использованием LSP:

1. Установите необходимые пакеты: для работы с LSP вам понадобятся vim-lsp и vim-lsp-settings плагины. Установка можно выполнить с помощью пакетного менеджера Vim (например, Vim-Plug или Vundle) или вручную, копируя файлы в соответствующие директории Vim.

2. Установите и настройте gopls: gopls - это языковой сервер для Go, который предоставляет функции и возможности для разработки на Go. Установите gopls, следуя инструкциям в репозитории Go. После установки, убедитесь, что gopls находится в переменной среды PATH так, чтобы Vim мог его найти.

3. Настройте lsp-mode в Vim: добавьте следующий код в ваш файл конфигурации Vim (например, ~/.vimrc или ~/.vim/init.vim):

" LSP
if executable('gopls')
  au User lsp_setup call lsp#register_server({
         'name': 'gopls',
         'cmd': {server_info->['gopls']}
         })
  augroup gopls
    au!
    au FileType go :normal! <buffer> gd
    au FileType go :call lsp#register_buffer_sync()
    au FileType go :LspInstallServer gopls
  augroup end
endif

Этот код регистрирует gopls в качестве языкового сервера, а также настраивает автоматическую регистрацию и установку сервера при открытии файлов с расширением .go.

4. Перезапустите Vim и откройте файл с расширением .go. lsp-mode будет автоматически загружать и настраивать gopls для данного файла. Если что-то пошло не так, убедитесь, что gopls находится в переменной среды PATH и имеет права на выполнение.

Теперь у вас должна быть настроена доступность возможностей Go LSP, таких как автодополнение, переход к определению, поиск ссылок, рефакторинги и т.д. Используйте стандартные команды и сочетания клавиш, предоставленные lsp-mode, чтобы взаимодействовать с gopls и осуществлять разработку на Go в Vim.

Это всего лишь основы настройки Go с использованием LSP в Vim. LSP и vim-go предоставляют дополнительные возможности, которые вы можете настроить для более продуктивной разработки. Рекомендую ознакомиться с документацией vim-go и LSP для получения дополнительной информации о возможностях и настройках.