diff options
author | hyphz <drmoose94@gmail.com> | 2017-07-18 17:56:42 +0100 |
---|---|---|
committer | hyphz <drmoose94@gmail.com> | 2017-07-18 17:56:42 +0100 |
commit | 5ab5cb9800822d607be2c6ac943377811db98158 (patch) | |
tree | 3c804707822744c20da1de54ff60fc8c3197781b /pt-br/vim-pt.html.markdown | |
parent | 62102d02992f83b3a1fb745a39f36332dd4435b7 (diff) | |
parent | 6e7c5c793327f4a63b13e555894597915ca91fda (diff) |
Merge remote-tracking branch 'adambard/master'
Diffstat (limited to 'pt-br/vim-pt.html.markdown')
-rw-r--r-- | pt-br/vim-pt.html.markdown | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/pt-br/vim-pt.html.markdown b/pt-br/vim-pt.html.markdown new file mode 100644 index 00000000..51eddb48 --- /dev/null +++ b/pt-br/vim-pt.html.markdown @@ -0,0 +1,239 @@ +--- +category: tool +tool: vim +contributors: + - ["RadhikaG", "https://github.com/RadhikaG"] +translators: + - ["David Lima", "https://github.com/davelima"] +lang: pt-br +filename: LearnVim-pt.txt +--- + + +[Vim](http://www.vim.org) +(Vi IMproved - Vi Melhorado) é um clone do editor vi para Unix. Ele é um +editor de texto projetado para ter velocidade e produtividade, e está presente +na maioria dos systemas UNIX. O editor tem um grande número de atalhos de teclado +para agilizar a navegação para pontos específicos no arquivo, além de edição rápida. + +## Navegação do Vim: o básico + +``` + vim <nome-do-arquivo> # Abre <nome-do-arquivo> no vim + :q # Fecha o vim + :w # Salva o arquivo atual + :wq # Salva o arquivo e fecha o vim + :q! # Fecha o vim e descarta as alterações no arquivo + # ! *força* :q a executar, fechando o vim sem salvar antes + :x # Salvar o arquivo e fechao vim (atalho para :wq) + + u # Desfazer + CTRL+R # Refazer + + h # Move o cursor para a esquerda + j # Move o cursor para baixo + k # Move o cursor para cima + l # Move o cursor para a direita + + # Movendo o cursor dentro da linha + + 0 # Move para o início da linha + $ # Move para o final da linha + ^ # Move para o primeiro caractere da linha (ignora caracteres em branco) + + # Pesquisa no texto + + /palavra # Destaca todas as ocorrências de 'palavra' após o cursor + ?palavra # Destaca todas as ocorrências de 'palavra' antes do cursor + n # Move o cursor para a próxima ocorrência após a pesquisa + N # Move o cursor para a ocorrência anterior após a pesquisa + + :%s/foo/bar/g # Substitui 'foo' por 'bar' no arquivo inteiro + :s/foo/bar/g # Substitui 'foo' por 'bar' na linha atual + + # Pulando para caracteres específicos + + f<caracter> # Posiciona o cursor no próximo <caracter> + t<character> # Posiciona o cursor antes do próximo <caracter> + + # Por exemplo, + f< # Posiciona o cursor no < + t< # Posiciona o cursor logo antes do < + + # Movendo por palavras + + w # Move o cursor uma palavra a diante + b # Move o cursor uma palavra atrás + e # Move o cursor ao fim da palavra atual + + # Outros caracteres para mover o cursor no arquivo + + gg # Move para o topo do arquivo + G # Move para o final do arquivo + :NUM # Move para a linha NUM (NUM é qualquer número) + H # Move para o topo da tela visível + M # Move para o meio da tela visível + L # Move para o final da tela visível +``` + +## Modos: + +O Vim é baseado no conceito de **modos**. + +Modo Comando - usado para navegar e escrever comandos - o Vim já inicia nesse modo +Modo Inserção - usado para fazer alterações no arquivo +Modo Visual - usado para destacar textos e executar comandos neles +Modo Ex - usado para ir a linha com ':' no final da tela para executar comandos + +``` + i # Coloca o Vim no Modo Inserção, logo antes do cursor + a # Coloca o Vim no Modo Inserção, logo após o cursor + v # Coloca o Vim no Modo Visual + : # Coloca o Vim no Modo Ex + <esc> # Sai de qualquer modo que você estiver, e coloca o Vim no Modo Comando + + # Copiando e colando texto + + y # Coloca a seleção atual na área de transferência + yy # Coloca a linha atual na área de transferência + d # Deleta a seleção tual + dd # Deleta a linha atual + p # Cola o texto copiado após a posição do cursor + P # Cola o texto copiado antes da posição do cursor + x # Deleta o caractere que está na posição do cursor +``` + +## A 'Gramática' do Vim + +Podemos pensar no Vim como uma série de comendos +em um formato 'Verbo-Modificador-Nome', onde: + +Verbo - sua ação +Modificador - como você executará sua ação +Nome - o objeto onde você vai executar sua acão + +Alguns exemplos importantes de 'Verbos', 'Modificadores' e 'Nomes': + +``` + # 'Verbos' + + d # Apagar (Delete) + c # Alterar (Change) + y # Copiar (Yank) + v # Seleção Visual + + # 'Modificadores' + + i # Dentro (Inside) + a # Em torno de (Around) + NUM # Número (NUM qualquer número) + f # Pesquisa algo e posiciona o cursor acima do resultado + t # Pesquisa algo e posiciona o cursor logo antes do resultado + / # Encontra algo a frente do cursor + ? # Encontra algo antes do cursor + + # 'Nomes' + + w # Palavra (word) + s # Sentência + p # Parágrafo + b # Bloco + + # Exemplos de comandos + + d2w # Apaga 2 palavras + cis # Altera dentro de uma sentência + yip # Coloca o parágrafo atual da área de transferência) + ct< # Altera para '<' + # Altera todo o texto a partir da posição do cursor até o próximo '<' + d$ # Apaga tudo da posição do cursor até o final da linha +``` + +## Alguns atalhos e dicas + + <!--TODO: Adicionar mais!--> +``` + > # Adiciona um bloco de indentação + < # Remove um bloco de indentação + :earlier 15m # Reverte o documento para como ele estava há 15 minutos atrás + :later 15m # Reverte o comando acima + ddp # Troca linhas consecutivas de posição, dd e depois p + . # Repete a última ação +``` + +## Macros + +Macros, basicamente, são ações graváveis. +Quando você começa a gravar uma macro, ele salva **toda** ação e comando +que você usar, até que você pare de gravar. Ao executar uma macro, ele aplica +exatamente a mesma sequencia de ações e comandos na seleção atual. + +``` + qa # Inicia a gravação de uma macro chamado 'a' + q # Para a gravação + @a # Executa a macro +``` + +### Configurando o ~/.vimrc + +O arquivo .vimrc pode ser usado para configurar o Vim no seu início. + +Exemplo de arquivo ~/.vimrc + +``` +" Exemplo de ~/.vimrc +" 2015.10 + +" Obrigatório para rodar apenas no Vim (Vi Improved) +set nocompatible + +" Determina o tipo de arquivo pelo nome para habilitar indentação automática, etc +filetype indent plugin on + +" Habilita sintaxe colorida +syntax on + +" Ativa um 'auto-completar' melhor para a linha de comando +set wildmenu + +" Faz as buscas não diferenciarem maiúsculas-minúsculas (case insensitive) +" Exceto quando você usar letras maiúsculas +set ignorecase +set smartcase + +" Quando criar uma nova linha e a indentação por tipo de arquivo estiver +" desabilitada, mantem a mesma indentação da linha atual +set autoindent + +" Mostra o número das linhas à esquerda +set number + +" Opções de indentação, aqui você pode mudar como preferir + +" Número de espaços visíveis por TAB +set tabstop=4 + +" Número de espaços por TAB ao editar um arquivo +set softtabstop=4 + +" Número de espaços usados nas funções de indentação (>> e <<) +set shiftwidth=4 + +" Converte TABs em espaços +set expandtab + +" Habilita indentação/alinhamento inteligente +set smarttab +``` + +### Referências + +[Vim | Home](http://www.vim.org/index.php) (EN) + +`$ vimtutor pt` + +[Vim: um tutorial/cartilha](https://danielmiessler.com/study/vim/) (EN) + +[O que são as partes sombrias do Vim que sua mãe nunca te explicou? (tópico no Stack Overflow)](http://stackoverflow.com/questions/726894/what-are-the-dark-corners-of-vim-your-mom-never-told-you-about) (EN) + +[Arch Linux Wiki](https://wiki.archlinux.org/index.php/Vim) (EN) |