Vim
O Vim é o editor de texto via terminal mais popular entre desenvolvedores e usuários que adoram o terminal Unix. Apesar de já existirem vários materiais de referência, vou descrever aqui um resumo dos principais comandos.
O Open Vim é um site bem legal que mostra de forma interativa os comandos do Vim.
Os sites Vim Cheat Sheet pt-br e VIM - Cartão de Referência são uma boa referência para os comandos do Vim.
Abrindo
Para abrir um arquivo existente com o cursor no final do arquivo digite
Salvando e Saindo
Para salvar do arquivo basta digitar
:w
Para sair digite
:q
Salvar e sair
:wq
Sair sem salvar
:q!
Modo de inserção
O Vim funciona da seguinte forma:
Modo normal é o modo inicial do Vim onde você digita os comandos.
Modo de edição é onde você digita o texto.
Para entrar no modo de edição digite um dos comandos a seguir.
Para sair do modo de edição e voltar para o modo normal pressione ESC
.
Edição
i
. insere antes do cursor
a
. insere depois do cursor
I
. insere no início da linha
A
. insere no fim da linha
o
. abre nova linha abaixo da linha atual
O
. abre nova linha acima da linha atual
Movimentos básicos
gg
. começo do arquivo
G
. final do arquivo
0
. começo da linha
^
. vai para primeiro caractere não espaço da linha
$
. final da linha
:10
. vai para a décima linha
Busca e substituição
comando | funcionalidade |
---|---|
/texto |
procura a frente |
n |
repete a última busca a frente |
N |
repete a última busca atrás |
:set ic |
ignora maiúsculas e minúsculas |
:%s/antigo/novo/g |
substitui texto |
Movimento de linha
ddkP
. movimenta uma linha para cima
ddp
. movimenta uma linha para baixo
Copiar e colar
yy
. copiar
p
. colar
Deletar
dd
. deleta a linha atual
5dd
. deleta 5 linhas abaixo
:10d
. deleta a linha número 10
Multi-janela
C é Ctrl
C-Ws
ou :split[Enter]
. divide janela em duas horizontal
C-Wv
ou :vsplit[Enter]
. divide janela em duas vertical
C-Ww
. alterna entre as janelas
C-Wq
. fecha a janela atual
Numerar as linhas
:%s/^/\=printf('%-4d', line('.'))
ou
:%s/^/\=line('.').". "/
ou
:%!nl -ba
ou
:%!nl -ba -nrz -w6
ou fora do vim
sed -n "/pattern/{=;p}" arquivo
ou
sed -n "/*/{=;p}" arquivo.txt | sed "{N;s/\n/ /}" > arquivo2.txt
ou
cat -n arquivo.txt > arquivo2.txt
ou
awk '{printf("%5d: %s\n", NR,$0)}' arquivo.txt > arquivo2.txt
Configurações
Para mostrar as linhas numeradas no Vim digite
:set nu
Para mostrar o highlight do seu código digite
:syntax on
Personalizando o Vim com vimrc
Na sua pasta ~
ou home/
crie um arquivo chamado .vimrc
.
Dentro dele você pode configurar o Vim da forma que quiser. Por exemplo, baseado em VIM and Python - a Match Made in Heaven e Full Stack Python eu vou configurar o Vim para Python usando recomendações do PEP8.
Tem também o Vim Bootstrap.
Plugins
Não vou explorar muito os plugins mas um que eu gostei bastante foi o NerdTree.
Depois de instalado você pode digitar :NERDTree
que aparecerá uma janela lateral com os arquivos da pasta atual.
O comando o
abre o arquivo.
https://github.com/junegunn/vim-plug
https://github.com/terryma/vim-multiple-cursors#installation
.vimrc
Atalho
C-n, c
Referências