Neovim (Português) - ArchWiki

Jump to content

# Neovim (Português)

From ArchWiki
Status de tradução: Este artigo é uma tradução de Neovim. Data da última tradução: 2026-08-01. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

O Neovim é um fork do Vim com o objetivo de melhorar o código-fonte, facilitando a implementação de APIs, a experiência do usuário e o desenvolvimento de plugins. Neovim inspirou editores como Helix.

## Instalação

Instale o pacote neovim, ou neovim-gitAUR que traz a última versão em desenvolvimento, que fortemente encoraja o uso de Lua como sua principal linguagem para configuração. Para fazer o clipboard do sistema funcionar com o Neovim, talvez seja necessário instalar xclip (X11) ou wl-clipboard (Wayland).

Nota Com o neovim, alguns de seus recursos são delegados a "provedores" externos. Para provedores Python, use o pacote python-pynvim. Para provedores de clipboard, veja mais em provider-clipboard ou com o comando `:help provider-clipboard` do Neovim.

Também é possível instalar uma das muitas GUIs e outros projetos relacionados (EN) (a maioria deles está no repositório oficial ou no AUR).

- FVim — Front-end multiplataforma do Neovim, construído com F# e Avalonia.

  https://github.com/yatli/fvim || fvimAUR

- Neoray — Interface gráfica em Go, usando bindings do GLFW e OpenGL.

  https://github.com/hismailbulut/neoray || neoray-gitAUR

- Neovide — Uma interface gráfica simples escrita em Rust para o Neovim.

  https://github.com/neovide/neovide || neovide

- neovim-gtk — Uma interface GTK UI para o Neovim escrita em Rust usando gtk-rs bindings.

  https://github.com/Lyude/neovim-gtk || neovim-gtkAUR

- Neovim Qt — Uma interface gráfica leve e multiplataforma para o Neovim escrita em C++ com Qt.

  https://github.com/equalsraf/neovim-qt || neovim-qt

- Uivonim — Um fork inativo do Veonim, "uma IDE modal simples escrita em extensões do Neovim e VSCode", escrita em Electron com renderização WebGL de GPU e multithreading".

  https://github.com/smolck/uivonim || uivonim-gitAUR

## Configuração

O Nvim armazena suas configurações, dados e logs em seus caminhos padrões de acordo com a especificação definida em XDG Base Directory (Português). O uso de plugins é incentivado, mas não é obrigatório para seguir essa convenção.

O arquivo de configuração específico do usuário é chamado `init.lua` ou `init.vim`. Apenas um deve ser utilizado e deve estar localizado em `$XDG_CONFIG_HOME/nvim/`. Veja o Lua guide para uma introdução do uso da linguagem Lua no Neovim.

O arquivo de configuração global é carregado a partir do `$XDG_CONFIG_DIRS/nvim/sysinit.vim` (por padrão `/etc/xdg/nvim/sysinit.vim`) se existir, ou se não existir, o `/usr/share/nvim/sysinit.vim` que não deve ser editado pelo usuário. [1] Por padrão, o antigo arquivo de configuração global não existe. Se você criar, poderá desejar que ele carregue o último se ainda desejar a funcionalidade que ele fornece, o que permite que os pacotes vim instalados pelo pacman funcionem com o Nvim.

O Nvim é compatível com a maioria das opções do Vim, no entanto, existem opções específicas para o Nvim. Para obter uma lista completa das opções do Nvim, consulte a documentação do Neovim, seja online (EN) ou rodando `:help options` no Nvim.

O diretório de dados do Nvim está localizado em `~/.local/share/nvim/` e contém swap para arquivos abertos, o arquivo ShaDa (Shared Data), e o diretório do site para plugins.

### Migrando do Vim

Se você deseja migrar sua configuração existente do Vim para o Nvim, basta copiar o seu `~/.vimrc` para `~/.config/nvim/init.vim`. Se aplicável, copie o conteúdo do `~/.vim/autoload/` para o `~/.local/share/nvim/site/autoload/`.

### Configuração compartilhada entre Vim e Nvim

O Neovim usa `$XDG_CONFIG_HOME/nvim` ao invés de `~/.vim` como seu principal diretório de configuração e `$XDG_CONFIG_HOME/nvim/init.vim` ao invés de `~/.vimrc` como seu principal arquivo de configuração.

Se você deseja continuar usando o Vim e deseja aproveitar sua configuração existente do Vim no Nvim, consulte o nvim-from-vim ou o comando do neovim `:help nvim-from-vim`.

#### Carregando Plugins do Vim

Plugins do Vim e Neovim instalados de official repositories (Português) ou AUR (Português) são carregados automaticamente em `/etc/xdg/nvim/sysinit.vim`, então não é necessário nenhum passo adicional. Uma vasta quantidade de plugins pode ser encontrada nessas fontes, mas o modo mais recomendado é utilizar um plugin manager. Os mais utilizados são vim-plugAUR (que funciona no Vim e Neovim) e lazy.nvim (funciona apenas no Neovim, escrito em Lua). Ambos permitem configurações extensas, desde a branch do GitHub até mesmo comandos em runtime.

A maioria dos plugins escritos para Vim funcionam sem problemas no Neovim, mas nem todo plugin do Neovim funciona no Vim. Se sua intenção é garantir uma configuração compatível com ambos, use os tradicionais `init.vim` ou `.vimrc`.

## Dicas e truques

### Substituindo Vi e Vim por Neovim

As variáveis `$VISUAL` e `$EDITOR` variáveis de ambiente devem ser o suficiente na maioria dos casos.

Alguns aplicativos podem ter vi ou vim como editor padrão, para usar neovim em seu lugar, instale neovim-symlinksAUR.

### Ligando o init.vim para .vimrc

Como o neovim é compatível principalmente com o vim padrão, você pode vincular o `nvim/init.vim` para o seu antigo `.vimrc` para manter as opções de configuração antigas:

    $ ln -s ~/.vimrc ~/.config/nvim/init.vim

Se você deseja que algumas linhas sejam específicas para cada versão, você pode usar um `if` no seu arquivo `.vimrc`:

    if has('nvim')
        " Neovim specific commands
    else
        " Standard vim specific commands
    endif

### Adicionando suporte de cores verdadeiras ao neovim

Os `READMEs` desse projeto (EN) explicam como adicionar o suporte "True Color" de 24 bits ao realce da sintaxe e como usar um seletor de cores para ver como fica em tempo real. Vem com o destaque da sintaxe do autor (se instalado) para C++.

### Suporte ao salvamento do último estado do cursor

Se você quer manter a última posição do cursor salva, o lastplace.lua é bem útil. Para funcionar, apenas precisa ser adicionado no diretório local `~/.config/nvim/plugin/` ou o diretório do sistema `/usr/share/nvim/runtime/plugin/`.

### Language Server Protocol (LSP)

O Neovim possui um cliente de Language Server Protocol nativo e o plugin nvim-lspconfig providencia as configurações necessárias.

Veja Language Server Protocol (EN) para uma lista de pacotes Arch de LSP.

### Usando Neovim como pager

É possível usar o comando `:Man` para abrir páginas de manual (man). Para abrir todas as páginas de manual com o Neovim, mude a variável de ambiente `MANPAGER` para `nvim +Man!`.

Para suporte, também é possível instalar o pacote nvimpagerAUR ou nvimpager-gitAUR e alterar a variável de ambiente `PAGER` para `nvimpager`.

Você também pode tentar o page, empacotado em page-gitAUR.

### Múltiplas configurações isoladas do Neovim

Diversas configurações do Neovim podem ser instaladas lado a lado usando a variável de ambiente NVIM_APPNAME. Crie um diretório em `XDG_CONFIG_HOME`, por exemplo `~/.config/foo`, e coloque sua nova configuração lá.

Para rodar nvim usando uma configuração específica:

- Mude a variável `NVIM_APPNAME` diretamente em seu shell ou arquivo de configuração com `export NVIM_APPNAME=foo`. Agora, o comando `nvim` vai utilizar automaticamente a configuração foo. Para restaurar o comportamento padrão, desfaça a variável de ambiente com `unset NVIM_APPNAME`.
- Defina um alias, por exemplo `alias v=' NVIM_APPNAME=foo nvim'`

#### Instalar o LazyVim além da configuração nativa do Neovim

Se você quiser instalar o popular LazyVim além da sua configuração nativa do nvim, siga as instruções de instalação. Mas tenha em mente que você não precisa deletar ou mover os seguintes diretórios da sua configuração do Neovim atual: `~/.config/nvim`, `~/.local/share/nvim`, `~/.local/state/nvim` e `~/.cache/nvim`.

Por isso, clone o repositório inicial para um diretório da sua escolha no caminho `.config`. Os comandos abaixo estão usando `nvimLazyvim` como diretório:

    $ git clone https://github.com/LazyVim/starter ~/.config/nvimLazyvim

Não se esqueça de remover o diretório `.git`:

    $ rm -rf ~/.config/nvimLazyvim/.git

Para usar a nova configuração, use o comando abaixo:

    $ NVIM_APPNAME=nvimLazyvim nvim

Um alias para encurtar o comando pode ser feito em seu arquivo de configuração adicionando a seguinte linha:

    alias v=' NVIM_APPNAME=nvimLazyvim nvim'

## Solução de problemas

### O cursor não é restaurado para o estado anterior após a saída

Se, depois de sair do Neovim, o cursor ainda estiver piscando, veja a solução em FAQ neovim (EN).

### Erro no parser do Tree-sitter depois de atualizar o sistema

This article or section needs expansion.

Reason: Essa etapa é inútil sem especificar o software instalado. (Discuss in Talk:Neovim (Português))

Depois de atualizar o sistema, é recomendado sincronizar os pacotes do Neovim, por exemplo `:Lazy sync`, então force o update dos parsers manualmente com `:TSUpdate`. Remover os arquivos de cache do Neovim em `~/.local/share/nvim` pode resolver o problema.

### Executável do Tree-sitter não encontrado

O pacote tree-sitter providencia apenas a biblioteca. Se o executável tree-sitter for necessário, instale tree-sitter-cli.

## Veja também

- Repositório do Github
- Wiki Github

Categories:

- Text editors (Português)
- Console applications (Português)

Hidden category:

- Pages or sections flagged with Template:Expansion

Neovim (Português)
Add topic