Skip to content

Instantly share code, notes, and snippets.

@lamenezes
Created October 31, 2016 14:23
Show Gist options
  • Save lamenezes/f854fc5a2cc128f3cd5d12d282b5a072 to your computer and use it in GitHub Desktop.
Save lamenezes/f854fc5a2cc128f3cd5d12d282b5a072 to your computer and use it in GitHub Desktop.
Comandos VIM
Estes comandos foram escritos por Rodrigo Mello e foram usados durante o #29 Workshop do Opensanca (http://opensanca.com.br/) que aconteceu no dia 29/10/2016 em São Carlos-SP
i - modo de edição
ESC - modo de comandos
p, P - colar abaixo ou acima
setas ou hjkl para movimentação
CTRL + v modo visual de seleção por colunas
v modo visual de seleção por linhas
y copia a região selecionada
u undo (desfaz)
CTRL + r redo(refazer
CTRL + b CTRL + u Page Up
CTRL + f CTRL + d Page Down
CTRL + e descer uma linha por vez (Scroll Down)
CTRL + y subir uma lonha por vez (Scroll Up)
:set background=dark alterar cor de fundo
:set background=light
:set syntax=c definir sintaxe da linguagem c
:set syntax=off desligar a sintaxe
w salta uma palavra
#w salta # palavras
yy copia uma linha
#yy copia # linhas
#p colar # vezes
SHIFT + g descer ao final do documento
:# goto linha #
CTRL + g informações atuais sobre a posição em que estou no documento
/word buscar word
n next (próxima ocorrência da palavra)
SHIFT+n previous (ocorrência anterior da palavra)
/p[^ ]* buscar por uma palavra que comece com a letra p seguida de qualquer
caracter exceto o espaço (asterisco significa qualquer número de
caracteres)
:%s/word1/word2 substituição de word1 por word2 sem confirmação
:%s/word1/word2/cg substituição de word1 por word2 com confirmação
dd apaga linha
x apaga um caracter à frente
X apaga como backspace
:w salva o documento
:wq salva e sai do documento
:!q sai sem salvar
:x sai e salva
+, - descer e subir entre linhas
ZZ sai e salva
ZQ sai sem salvar
$ vai para o final da linha
^ vai para o início da linha
S apaga a linha e entre na edição
dw apaga uma palavra à frente
db apaga uma palavra para trás
#dw apaga # palavras à frente
#db apaga # palavras para trás
:e cria um buffer (abrir documento)
:e nome cria um buffer para salvar com o nome definido
:b# salta de um buffer para outro
:ls lista os buffers
:b[[:space:]] em seguida usar o tab, ele preenche com os buffers disponíveis
J concatena linhas (join de linhas)
{, } vá para o começo ou final de um parágrafo
C apaga a linha partir do ponto e entra no modo de edição
D apaga a linha partir do ponto
r substituir um caracter
fc procura pelo caracter c para frente
; próxima ocorrência na mesma linha
Fc procura pelo caracter c para trás
. repete o último comando efetuado
set ru set ruler habilitar a régua do vim
set nu set number habilitar os números na lateral
set nonu set nonumber desabilitar os números na lateral
vim nome.txt +# goto linha #
:let i=1 | g/word/s//\='qualquer coisa '.i/ | let i=i+1
enquanto houver word, substitua por 'qualquer coisa #'
:highlight Normal ctermfg=grey ctermbg=darkblue
alterar cores de fontes e de fundo da tela
H, L vai para o topo ou chão da mesma tela
:%s/\([^ ]*\) word1 \([^ ]*\) word2 \([^ ]*\) word3 \([^ ]*\)/\1 \2 \3/cg
substituição, mantendo apenas as variáveis 1, 2 e 3
:%s/^.*$/word/cg substituir do início da linha até o final por word
. qualquer caracter
* qualquer quantidade 0-infty
\d dígito
[[:digit:]] dígito
\+ ao menos um (quantidade) 1-infty
\a caracteres do alfabeto
[a-z] caracteres do alfabeto em minúsculas
[A-Z] caracteres do alfabeto em maiúsculas
[a-zA-Z] caracteres do alfabeto em minúsculas e maiúsculas
[a-zA-Z0-9] caracteres do alfabeto e números
[0-9] dígitos
:%s/^.* \(\d*\.\d*\).*$/\1/cg substituição, mantendo apenas números reais
nas linhas
cp /usr/share/vim/vim80/vimrc_example.vim ~/.vimrc copiar arquivo de recurso
padrão para a área de usuário
find /usr/share -name "vimrc*"
= selecione a região de interesse e pressione o = para indentar
SHIFT + k procura comando no manual do Linux
# SHIFT + k procura comando no manual # do Linux
CTRL + p autocompletion (completa automaticamente algum comando ou
palavra)
>> indentar uma linha à frente
> selecione uma região e pressione > para indentar à frente
<< indentar uma linha para trás
< selecione uma região e pressione < para indentar para trás
:vsplit nome divide verticalmente a janela e abre o arquivo nome
CTRL + ww movimenta entre janelas
:split nome divide horizontalmente a janela e abre o arquivo nome
:E ou :Explore abre o gerenciador de arquivos e diretórios
:qa sair de todas as janelas abertas sem salvar
:wqa sair de todas as janelas abertas e salvar
:make invoca o Makefile para compilação e para sobre o primeiro erro
SHIFT + % vai até a abertura ou fechamento de {} () []
:put =range(i,j) criar uma lista de número de i até j
:for i in range(1,5) | put ='192.168.0.'.i | endfor
:wqa sair de
Selecionar região de texto:
u minúsculas
U maiúsculas
~ toggle (inversão)
o abre uma linha abaixo e entra no modo de edição
O abre uma linha acima e entra no modo de edição
a append no caracter seguinte
A append no final da linha
Macros
======
ql começa a gravar a macro chamada l
q termina de gravar a macro
@l rodar a macro l
Autômatos Finitos (Hopcroft)
============================
Máquinas de Estado Finito
Máquinas de Estado Finito com epsilon-moves
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment