Saltar para o conteúdo

Vim/Hábitos para edição efetiva

Origem: Wikilivros, livros abertos por um mundo aberto.
< Vim

Um dos grandes problemas relacionados com os softwares é sua subutilização. Por inércia o usuário tende a aprender o mínimo para a utilização de um programa e deixa de lado recursos que poderiam lhe ser de grande valia. O mantenedor do Vim Bram Moolenaar recentemente publicou vídeos e manuais sobre os "7 hábitos para edição efetiva de textos", este capítulo pretende resumir alguns conceitos mostrados por Bram Moolenaar.

Mova-se rapidamente no texto

[editar | editar código-fonte]
  • Use marcas
  ma ................ em modo normal cria uma marca a
  'a ................ move o cursor até a marca a
  d'a ............... deleta até a marca a
  y'a ............... copia até a marca a

Além das marcas o vim permite a movimentação por outros métodos

  gg ................ vai para a linha 1 do arquivo
  G ................. vai para a última linha do arquivo
  0 ................. vai para o início da linha
  $ ................. vai para o fim da linha
  fx ................ pula até a próxima ocorrência de x
  dfx ............... deleta até a próxima ocorrência de x
  g, ................ avança na lista de alterações 
  g; ................ retrocede na lista de alterações 
  p ................. cola o que foi deletado/copiado abaixo
  P ................. cola o que foi deletado/copiado acima
  H ................. posiciona o cursor no primeiro caractere da tela
  M ................. posiciona o cursor no meio da tela
  L ................. posiciona o cursor na última linha da tela
  • Use asterisco * para localizar a palavra sob o cursor
  • Use o percent % serve para localizar fechamento de parêntese chaves etc
    '.  apostrofo + ponto retorna ao último local editado
    '' retorna ao local do ultimo salto

Suponha que você está procurando a palavra 'argc':

/argc

Digita 'n' para buscar a próxima ocorrência

n 

Um jeito mais fácil seria:

"coloque a linha abaixo no seu vimrc
:set hlsearch

Agora use asterisco para destacar todas as ocorrências do padrão desejado e use a letra 'n' para pular entre ocorrências, caso deseje seguir o caminho inverso use 'N'.

Use quantificadores

[editar | editar código-fonte]

Em modo normal você pode fazer

10j ............. desce 10 linhas
5dd ............. apaga as próximas 5 linhas
:50 ............. vai para a linha 50
50gg ............ vai para a linha 50

Veja também: movendo

Não digite duas vezes

[editar | editar código-fonte]
  • O vim complementa com tab
  • Use macros veja na seção repetição de comandos
  • Use abreviações coloque abreviações como abaixo em seu ~/.vimrc

as abreviações fazem o mesmo que auto-correção e auto-texto em outros editores

 iab tambem também
 iab linux GNU/Linux
  • No modo insert você pode usar
 Control + y  ......... copia caractere a caractere a linha acima
 Control + e  ......... copia caractere a caractere a linha abaixo
  • Para um trecho muito copiado coloque o seu conteúdo em um registrador
 "ayy  ........... copia a linha atual para o registrador a
 "ap   ........... cola o registrador a

Crie abreviações para erros comuns no seu arquivo de configuração (~/.vimrc)

iabbrev teh the
syntax keyword WordError teh

As linhas acima criam uma abreviação para erro de digitação da palavra 'the' e destaca textos que você abrir que contenham este erro.

Edite vários arquivos de uma só vez

[editar | editar código-fonte]

O Vim pode abrir vários arquivos que contenham um determinado padrão. Um exemplo seria abrir dezenas de arquivos html e trocar a ocorrência

 bgcolor="ffffff" 

Para

 bgcolor="eeeeee"

Usaríamos o seguinte comando

 vim *.html
 :bufdo :%s/bgcolor="ffffff"/bgcolor="eeeeee"/g
 :wall
 :qall

Ainda com relação à edição de vários arquivos poderia-mos abrir alguns arquivos txt e mudar de um para o outro assim:

:wn 

O w significa gravar e o 'n' significa next, ou seja gravaria-mos o que foi modificado no arquivo atual e mudaríamos para o próximo.

Use folders 'dobras'

[editar | editar código-fonte]

O vim pode ocultar partes do texto que não estão sendo utilizadas permitindo uma melhor visualização do conteúdo. Veja a seção usando folders

Use autocomandos

[editar | editar código-fonte]

No arquivo de configuração do vim ~/.vimrc você pode criar comandos automáticos que serão executados diante de uma determinada circunstância

O comando abaixo será executado em qualquer arquivo existente, posicionando o cursor no último local editado

  autocmd BufReadPost *
    \ if line("'\"") > 0 && line("'\"") <= line("$") |
    \   exe "normal g`\"" |
    \ endif

Grupo de comandos para arquivos do tipo html/htm. Observe que o autocomando carrega um arquivo de configuração do vim exclusivo para o tipo html/htm e no caso de arquivos novos "BufNewFile" ele já cria um esqueleto puxando do endereço indicado

  augroup html
   au! <--> Remove all html autocommands
    au!
    au BufNewFile,BufRead *.html,*.shtml,*.htm set ft=html
    au BufNewFile,BufRead,BufEnter  *.html,*.shtml,*.htm so ~/docs/vim/.vimrc-html
    au BufNewFile *.html 0r ~/docs/vim/skel.html
    au BufNewFile *.html*.shtml,*.htm /body/+  " coloca o cursor após o corpo <body>
    au BufNewFile,BufRead *.html,*.shtml,*.htm set noautoindent
  augroup end


Documentação on-line sobre autocomandos do vim http://www.vim.org/htmldoc/autocmd.html

Use o file explorer

[editar | editar código-fonte]

O vim pode navegar em pastas com o comando

  vim .

Você pode usar 'j' e 'k' para navegar e Enter para editar o arquivo selecionado

Torne as boas práticas um hábito

[editar | editar código-fonte]

Para cada prática produtiva procure adquirir um hábito e mantenha-se atento ao que pode ser melhorado. Imagine tarefas complexas, procure um meio melhor de fazer e torne um hábito.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy