Skip to content

diegonogueira/vim-dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Instalar MacVim

brew install macvim
brew install python
pip3 install neovim

Instalação

sh -c "`curl -fsSL https://raw.github.com/diegonogueira/vim-dotfiles/master/install.sh`"

Para usar o plugin ack + the_silver_searcher, instalar:

brew install the_silver_searcher

Instalar plugin

Adicionar em vundle.vim e rodar no terminal:

vim +PluginInstall +qall

Atualizar plugins

vim +PluginUpdate +qall

Como usar

Modos

Modo Comando
Normal <CTRL-[> OU <ESC>
Inserção <i, I, a, A, o, O...>
Visual <v, V, Ctrl-v>
Comando <ESC> :

Navegação

Comando Descrição
<Ctrl-[> OU
<Ctrl-c> OU
<ESC>
Sai do modo de edição
h Move o cursor para trás
j Move o cursor para baixo
k Move o cursor para cima
l Move o cursor para frente
w Move o cursor para o início da próxima palavra
W Move o cursor para o início da próxima palavra, desconsiderando hífen
e Move o cursor para o final da próxima palavra
E Move o cursor para o final da próxima palavra, desconsiderando hífen
b Move o cursor para o início da palavra anterior
ge Vai para o final da palavra anterior
; Vai para a próxima palavra Camelcase
gg Vai para o início do arquivo
G Vai para o final do arquivo
0 Vai para o início da linha
^ Vai para o início da linha, ignorando espaço
$ Vai para o final da linha
:<n> OU
G+<n> OU
<n>+gg
Vai para a linha
`` Volta para a linha que estava antes do goto
f+<c> Vai para o primeiro caracter a frente
t+<c> Vai para o primeiro caracter a frente, posicionando no caracter anterior
F+<c> Vai para o primeiro caracter a frente
T+<c> Vai para o primeiro caracter a trás, posicionando no caracter anterior
* Vai para próximo caracter selecionado
zt Move o cursor para o topo da página
zz Move o cursor para final da página
% Vai para o parênteses correspondente ) } ]
) Pula uma sentença para frente
( Pula uma sentença para trás
} Pula um paragrafo para frente
{ Pula um paragrafo para trás
<n>+Navegação
Ex: 3w
Ex: 5k
Diz o quantificador e a forma de navegação desejada
Move para a 3 palavra
Move para 5 linhas acima
Ctrl+f Desce a paginação
Ctrl+b Sobre a paginação

Digitação

Comando Descrição
i Entra em modo edição antes do caracter atual
I Entra em modo de edição no começo da linha
a Entra em modo de edição após o caracter atual
A Entra em modo de edição no final da linha
o Entra em modo de edição uma linha abaixo
O Entra em modo de edição uma linha acima
s Entra em modo de edição apagando o caracter da frente
S Entra em modo de edição no início da linha indentado ( quando não for espaço )
<n>i<c> <ESC> Adiciona vezes atual
r Abre o modo insert para trocar pelo caracter selecionado, após a troca, automaticamente volta para modo normal
R Abre o modo insert para trocar pelo caracter selecionado, porém não volta para modo normal. Ele vai alterando os caracteres correspondentes. Igual a tecla

Excluindo caracteres

Comando Descrição
dw Apaga uma palavra, posicionado no início da palavra
diw Apaga a palavra atual, não importando em que parte da palavra esta
daw Apaga a palavra atual e o espaço para a outra palavra, não importando em que parte da palavra esta
dip Apaga o paragrafo atual
dap Apaga o paragrafo atual e a linha, posicionando no próximo parágrafo
d<n>b Apaga vezes as palavras anteriores
dd Deleta a linha atual
D Deleta o restante da linha
C Deleta até o final da linha e muda para modo inserção
d$ Deleta do ponto atual até o final da linha
d^ Deleta do ponto atual até o início da linha do primeiro caracter não espaço
d0 Deleta do ponto atual até o início da linha
d% Apaga até o fechamento dos ), }, ]
df<c> Deleta do ponto atual até a próxima ocorrência encontrada em
dF<c> Deleta do ponto atual até a ocorrência anterior encontrada em
<b>,<e> d Deleta da linha <b> até
x Apaga o caracter sob o cursor
xp Troca os caracteres de lugar
ddp Troca as linhas de lugar
da” Deleta conteúdo entre aspas
<n>+Exclusão
Ex: 5x
Ex: 5dd
Apaga a quantidade de informado ao comando
Apaga os próximos 5 caracteres
Apaga as próximas 5 linhas
ciw Remove a palavra, e troca para modo de inserção
ci; Remove a palavra Camelcase, e troca para modo de inserção
:g/TEXTO/d Deleta a palavra Texto no arquivo
J Junta a linha de baixo com a atual

Copiar e colar

Comando Descrição
yy OU Y Copia a linha atual
ye Copia do cursor até o fim da palavra
yb Copia do cursor ao início da palavra
yi" Copia o conteúdo entre aspas
yip Copia o paragrafo atual
yit Copia a tag atual

yf<c> Copia até a próxima ocorrência encontrada
yF<c> Copia até ocorrência anterior encontrada
<n>Y Copia linhas
<b>,<e> Y Copiar da linha <b> até
p Cola o que foi copiado ou deletado uma linha abaixo
P Cola o que foi copiado ou deletado uma linha acima
]p cola o que foi copiado ou deletado após o cursor
:20,30m 10 Move a da linha 20 até 30 para a linha 10
:m-5 Move a linha atual 5 posições acima
:m$ Move a linha atual para o final
:10t. Copia a linha 10 para a linha atual
:t10 Copia a linha atual para a linha 10
yyp OU :t. Duplica a linha atual
:t$ Copia a linha atual para o final do arquivo
Vjj :t10 Copia o conteúdo selecionado para a linha 10
:m10 Move a linha atual para a linha 10
:10m. Move a linha 10 para a linha atual
Vjj :m10 Move o conteúdo selecionado para a linha 10

Selecionando ( modo visual )

Comando Descrição
v Entra no modo visual selecionando o caracter
V Entra no modo visual, selecionando a linha
<C-v> Entra no modo visual, selecionando o bloco
gv Vai para a última seleção utilizada
vap Seleciona o paragrafo
vip Seleciona o paragrafo
vi} Seleciona o conteúdo entre {}
va} Seleciona tudo entre {}, inclusive as {}
vit Seleciona o trecho com a tab. trecho
vii Seleciona a identação atual
vi; Seleciona a palavra Camelcase
o Alterna entre o início da seleção e depois da seleção. Necessário ter um trecho selecionado
var a = 1
var b = 2
var c = 3
<C-v>jj$
A;
<Ctrl-[>
Coloca ; no final de cada linha.

Buscando no arquivo

Comando Descrição
/<t> OU <regexp>
n
N
Pesquisa pela palavra ou pela regexp
Move para a próxima ocorrência encontrada
Move para a ocorrência anterior
:noh OU <CTRL-[> <CTRL-[> Desabilita o highlighting

Buscando e alterando trechos

Comando Descrição
:s/<b>/<e> Muda tudo que achar de <b> para na linha
:%s/<b>/<e> Muda tudo que achar de <b> para no arquivo inteiro
:1,10 s/<b>/<e> Muda tudo que achar de <b> para somente da linha 1 a 10

Trabalhando com arquivos

Comando Descrição
:w Salva o arquivo
:w! Salva forçando
:e! Reinicia a edição, ignorando alterações
:w arquivo Salvar como e permanece no arquivo original
:w! >> arquivo Salvar como e permanece no arquivo original
:wq Salva e sai
:x Salva se existirem modificações
:10, 20 w arquivo Salva o trecho selecionado em outro arquivo
:saveas arquivo Salvar como e abrir o arquivo novo
:e! arquivo Abre um novo arquivo sem salvar o atual
Ctrl-6 Alterna entre dois arquivos abertos
:r arquivo Abre o arquivo na linha em questão
:<n>r arquivo Abre o arquivo na linha
‘0 Abre o último arquivo editado
‘1 Abre o penúltimo arquivo editadoo

Janelas, buffers

Comando Descrição
:buffers Lista os arquivos abertos
:buf <n> Vai para o buffer , listado pelo buffers
:wn Salva o arquivo atual e vai para o próximo
Ctrl-w-v Cria uma janela ao lado
Ctrl-w-s Cria uma janela a baixo
Ctrl-w-w Alterna entre as janelas
Ctrl-w-l Vai para a janela da direita
Ctrl-w-h Vai para a janela da esquerda
Ctrl-w-j Vai para a janela a baixo
Ctrl-w-k Vai para a janela de cima
Ctrl-w-o Vai a janela atual ser única
Ctrl-w-+ Aumenta o espaço da janela atual
Ctrl-w-- Diminui o espaço da janela atual
:wall Salva todas as janelas
:qall Fecha todas as janelas

File explorer

Comando Descrição
:Vex Abre o file explorer ao lado
:Sex Lista os arquivos abertos
:buffers Abre o file explorer a baixo

Desfazendo e refazendo

Comando Descrição
u Desfaz
U Desfaz mudanças na linha editada
Ctrl-r Refaz

Ordenando linhas

Comando Descrição
:sort Ordena
:sort u Ordena e remove linhas duplicadas
:sort n Ordena numericamente
:<b>,<e> sort Ordena da linha <b> até

Vimgrep ( busca em todos os arquivos ) lento!

Comando Descrição
:pwd
:vimgrep /TEXTO/ ./**/*.rb
cw
Abrindo arquivo ruby que contenham a palavra TEXTO

Ack + The Silver Searcher ( busca em todos os arquivos )

Instalar o The Silver Searcher: brew install the_silver_searcher

https://github.com/mileszs/ack.vim/blob/master/doc/ack.txt
http://beyondgrep.com/documentation/

Comando Descrição
:pwd
:Ack --ignore-dir=log TEXTO
Busca o TEXTO nos arquivos da pasta atual, ignorando a pasta log.
:pwd
:Ack --ruby TEXTO
Busca o TEXTO nos arquivos da pasta atual, porém somente arquivos ruby ( .rb .rhtml .rjs .rxml .erb .rake .spec; Rakefile; first line matches /^#!.*\bruby/ )

Find and replace all

Comando Descrição
:pwd
:args `Ack --ruby -l TEXTO````<br>:argdo %s/DE/PARA/gc
update```

Indentação

Comando Descrição
= Auto indentação no modo visual. ex: vip =
== Auto indentação no modo normal
=ip OU
=ap
Auto indentação do paragrafo
> Avança para frente o texto em modo visual
< Recua em modo visual
>> Avança para frente no modo normal
<< Recua no modo normal
>ap Avança o paragrafo atual

Manipulando texto

Comando Descrição
gU Converte o texto selecionado no modo visual para maiúsculo
gu Converte o texto selecionado no modo visual para minúsculo
gUU Converte a linha para maiúsculo no modo normal
guu Converte a linha para minúsculo no modo normal
gUiw Converte a palavra atual para maiúsculo
gUap OU OU
gUip
Converte o paragrafo atual para maiúsculo
gggUG Converte todo arquivo para maiúsculo
~ Troca o case do caracter

Macro

Comando Descrição
qa
Faça suas edições serem gravadas
```q````
Inicia a gravação no registro a
.
Termina a gravação
@a Executa a macro do registro a
10@a Roda 10 vezes a macro do registro a
:reg a Ve o que esta gravado na macro

Auto-complete

Comando Descrição
<C-Space> OU <C-n> Vai para a próxima palavra encontarda. Usar o para não conflitar com o multiple-cursors
<C-p> Vai para a palavra anterior encontrada
<C-y> Aceita a sugestão
<C-e> Reverte para o ponto sem autocomplete

Máquina do tempo

Comando Descrição
:earlier 10m Volta o arquivo como estava a 10 minutos atrás
:later 10m Após utilizar o earlier, você ir para frente 10 minutos
:undolist Lista as modificações no arquivo
:undo <b> Volta a versão especifica no undolist

CtrlP ( Gerenciador de projetos )

Comando Descrição
,p Vai para a home do usuário para mudar de projeto
,t Abre a busca de arquivo ( vai se basear no projeto que está )
,b Lista os buffers abertos
<Ctrl>-j / <Ctrl>-k Navega nos buffers abertos
<Ctrl-z> Marca para exclusão
<Ctrl>-@ Fecha o buffer selecionado ( plugin a parte )
,t
/path/arquivo
<Ctrl-y>
Cria o arquivo

Tabular

Comando Descrição
VG:Tabularize /= Tabula o texto selecionado pelo =

Multiple cursors

Comando Descrição
viw
<C-n>
<C-x>
<C-p>
Seleciona a palavra
Seleciona a próxima palavra
Ignora palavra
Volta a seleção da uma palavra
c Entra em modo de alteração de todas as seleções
i Entra em modo de inserção de todas as seleções
<C-n> Seleciona a palavra automaticamente. Dai é só navegar , ,

EasyMotion

Comando Descrição
,s<c> Faz a busca de 2 caracteres, indexando atalhos para mover-se
/<c> busca no arquivo
:noh OU <C-[> <C-[> Desabilita o highlighting

NERDCommenter

Comando Descrição
,cc Comenta
,ci Comenta e descomenta
,cu Descomenta

Surround

Comando Descrição
Selecione em movo visual - S" Coloca entre aspas o conteúdo
Selecione em movo visual - S<p> Remove “ da palavra
ds" Remove “ da palavra
viwS" Coloca a palavra entre aspas
cs”( Troca “ por ( com espaço
cs”) Troca “ por ( sem espaço

NERDTree

Comando Descrição
,n Alterna entre o NERDTree aberto e fechado
,N Revela o arquivo no NERDTree
o Abre a pasta
<ENTER> Abre o arquivo
j e k Navegando entre os arquivos
m Abre menu com opções para editar, apagar o arquivo
C Define a passta como root

Emmet ( html )

http://docs.emmet.io/cheat-sheet/
http://docs.emmet.io/
http://docs.emmet.io/abbreviations/syntax/

Comando Descrição
html:5 <ctrl+y+,> cria um documento padrão html 5

Ultisnips ( snippets )

https://github.com/SirVer/ultisnips

Comando Descrição
class [TAB] Chama o snippet
C-j Vai para a próxima inserção no snippet
C-k Volta para a inserção anterior do snippet

Dash ( documentação )

Busca na documentação baseando-se pelo tipo do arquivo.

https://github.com/rizzatti/dash.vim

Comando Descrição
,d Busca no Dash a palavra selecionada. Não precisa selecionar, basta somente deixar o cursor em cima
,D Busque no Dash algo baseado no tipo de arquivo em questão

Debug ( performance )

Comando Descrição
:profile start profile.log Inicia um profile para debug
:profile func * Informa que vai depurar todas as funções
:profile file * Informa que vai depurar todos os arquivos
Faça ação que esta com uma performance ruim ...
:profile pause Pausa a depuração
:noautocmd qall! Vecha o vim
cat profile.log Visualiza o log

Outros

Comando Descrição
. Repete o último comando
!<b> Executa o comando bash <b>. Ex: !ls
vim -u NONE Abrir o vim na sua configuração original
:echo 5 * 3 Exibe o resultado da multiplicação

Dúvidas

  • Auto trailling ( remover espaços automaticamente ao salvar? )
  • Auto indentação esta ficando em baixo do parênteses
  • Abrir nerdtree no projeto do ctrlp
  • Como ir até a próxima letra maiúscula ex: ( UsersController ) _Controller

About

My vim dotfiles

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •