DEV Community

Cover image for Go + Neovim
Carlos Daniel
Carlos Daniel

Posted on • Updated on

Go + Neovim

Hoje vou dar algumas dicas como configurar o Neovim como ambiente de desenvolvimento Go, lembrando que é um post para quem já usa neovim/vim pois vou tentar ser o mais breve possível para montagem de um ambiente rápido e flexível.

Plugins Necessários

"Golang
    Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }

"Autocomplete Langs COC.NVIM
    Plug 'neoclide/coc.nvim', {'branch': 'release'}

 "Files Search
    Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
    Plug 'junegunn/fzf.vim'

 "NerdTree
    Plug 'preservim/nerdtree'

"Snippets
    Plug 'SirVer/ultisnips'
    Plug 'honza/vim-snippets'

Enter fullscreen mode Exit fullscreen mode

Autocomplete

Depois de instalar os plugins, instalamos a extensão do coc para autocomplete

:CocInstall coc-go

Feito isso seu autocomplete já deve estar funcionando como a imagem abaixo

Alt Text

Features vim-go

Agora para o vim-go digitamos :Go e pressionamos tab para sugestões

Deve ter varias opções como a imagem abaixo e todas elas podem ser mapeadas

Alt Text

NerdTree

Com esse plugin podemos ver a estrutura de diretórios e acessar arquivos

Digite :NERDTree para ativar

Alt Text

As cores variam de acordo com seu tema

Extra: Para ter icones instale: Plug 'ryanoasis/vim-devicons'

FZF

Talvez esse seja um dos recursos mais interessantes que temos no neovim/vim.

Com ele podemos fazer buscas de arquivos e expressões em todo o projeto.

Digite :FZF para buscar arquivos

Alt Text

Digite :Ag para buscar ocorrências

Alt Text

Snips

Para configurar os snips digite :UltiSnipsEdit

Depois comece a escrever snip e selecione a opção a seguir

Alt Text

Devera parecer com o seguinte

Alt Text

Esse é o modelo padrão que temos de snips,vamos criar aqui um exemplo de uma função muito usada

Alt Text

Feito isso basta fechar e usar o novo snip

Alt Text

Sobre múltiplos cursores

No vim não precisa deles, existem plugins que o fazem, mas vou mostrar uma opção que pode resolver seu problema.

1-Primeiro escolha o que deseja substituir
2-Se for apenas uma palavra digite * no inicio da palavra para selecionar todas, se for mais digite /palavras que deseja
3- vá ate a primeira ocorrência e digite cgn
4- use o . para repetir
5- pode-se usar n e N para pular o que deseja
Enter fullscreen mode Exit fullscreen mode

asciicast

Dicas

gd- pula para a definição
[ - pula para proxima função
] - volta para função anterior
% - pula entre { }
Enter fullscreen mode Exit fullscreen mode

Isso foi apenas uma introdução do que pode ser feito no neovim para a linguagem Go, fique a vontade para conferir minha configuração completa com diversos outros recursos.

Minha configuração

Discussion (0)