O que é Vim?
Vim é um editor de texto de terminal, isso significa que ele funciona totalmente via texto, não tendo uma interface gráfica própria como um VSCode.
As principais características do Vim são:
- Foco no uso no teclado
- Uso do editor como uma língua
- Extensabilidade
- Minimalismo
- Modularidade
Esse editor é muito utilizado pela
Distribuições de Vim
Distribuições de Vim são versões do editor que já vem personalizadas, com plugins, temas, atalhos,etc. geralmente com uma forma de instalação simplificada, instalando tudo de uma vez.
A utilidade das distribuições de Vim é facilitar o compartilhamento das configurações, então eu posso criar uma distribuição de Vim minha, e mandar para você, e com isso você terá todas as minhas configurações, no seu computador.
LunarVim
LunarVim é uma distribuição de Vim voltada a utilizar NeoVim (uma versão mais moderna do Vim), junto com a linguagem Lua (basicamente é uma linguagem que atualmente é muito utilizada para criar plugins e temas para Neovim). Criando um editor lotado de recursos, mas mesmo assim leve e prático.
Instalação
O LunarVim pode ser instalado executando esse comando aqui:
bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh)
Depois da instalação, é criado um binário em ~/.local/bin
chamado lvim
. Então a gente pode adicionar no $PATH
, adicionando no arquivo de configuração do seu shell (como .bashrc
, ou .zshrc
), essa linha aqui:
export PATH="$HOME/.local/bin/:$PATH"
ou também adicionar um alias, podendo usar o LunarVim com lv
, como no exemplo abaixo:
alias lv="$HOME/.local/bin/lvim"
Uso
Agora, é só usar lvim
(ou lv
caso você tenha usado a opção do alias), que essa tela inicial irá aparecer:
As opções que temos são:
- Find File: Busca algum arquivo na nossa máquina
- New File: Cria um novo arquivo em branco, e sem nome
- Recent Projects: Abre uma lista de projetos recentes nossos
- Recently Used Files: Abre os arquivos que foram editados recentemente
- Find Word: Encontra alguma palavra que foi usada em algum arquivo no diretório atual
- Configuration: Abre as configurações do LunarVim
Por enquanto não se preocupe tanto com essas opções, porque provavelmente você vai iniciar o LunarVim dentro de algum projeto, ou já usando um arquivo como argumento.
É importante se atentar que quase todos os atalhos do LunarVim são utilizados com o espaço. Então teste apertando espaço e vendo essa barra de opções aqui:
É por essa barra que vamos acessar os atalhos. Você pode ver que tá tudo com algum nome né? /
para comentaŕios, e
para acessar o explorer, f
para encontrar arquivos,etc.
Sinceramente, eu aprendi a mexer no LunarVim usando essas opções, e buscando o quê eu queria, e ao longo do tempo, colocando essas coisas na minha memória muscular, mas algumas dicas que eu posso dar aqui:
- Espaço e
e
abre o explorador de arquivos - Espaço e
w
salva o arquivo - Espaço e
q
fecha o editor - Espaço e
g
para acessar as opções do Git - Espaço,
s
et
para pesquisar textos
O resto você vai aprendendo conforte o tempo, e conforme as suas necessidades.
Instalando LSP's
LSP é basicamente a forma que podemos fazer nossos editores entenderem linguagens de programação, com isso podemos ter autocomplete, detecção automática de erros, recomendações,etc.
Para instalar LSP's no LunarVim, abre um arquivo da linguagem que você deseja instalar, e use o comando :LspInstall
, que irá aparecer uma lista com os possíveis LSP's dessa linguagem, para Markdown por exemplo são esses:
Nisso você escolhe um número, e esse LSP será instalado.
Caso apareçam vários e você não sabia o melhor, vai testando um por um até saber qual melhor funciona para você.
Aprenda mais
Para descobrir mais coisas sobre o LunarVim, abra o site do projeto, e explore toda a parte de documentação e plugins que se encaixam perfeitamente com o LunarVim, e vai explorando o editor livremente, usando o menu do espaço.
Finalização
Nesse artigo você aprendeu o que é o LunarVim, como instalar, e começar a utilizar o editor.
Muito obrigada por ler ❤️🏳️⚧️ e me segue nas redes, é tudo @lissatransborda 👀