Delimitadores no Vim
Publicado em Developer
Instalei aqui um plugin para o Vim feito pelo Tim Pope, o mesmo que fez o plugin para o Rails.
O plugin se chama surround e é muito útil para trabalhar com pares de delimitadores, que podem ser, por exemplo, aspas duplas, simples, tags HTML, etc. Copiando descaradamente os exemplos da documentação do plugin, seria algo como, se tivermos
"Olá, mundo!"
E pararmos o cursor dentro da string e digitarmos, em modo normal, ds", o texto ficaria
Olá, mundo!
Ou seja, o comando ds removeu os pares dos caracteres que vem depois dele, ". Podemos lembrar do d como delete. Se tivermos uma expressão como
[123+4*56]/2
E quisermos trocar os delimitadores [] por (), podemos usar o comando, novamente em modo normal, cs, dessa maneira: cs]), que vai resultar em
(123+4*56)/2
Legal, hein! Podemos lembrar do c do cs como change, trocando o primeiro delimitador pelo segundo. Uma observação importante é que se utilizarmos o delimitador final (nesse caso, o ]), a troca vai ser feita sem alteração nenhuma na expressão a não ser dos caracteres desejados, mas se utilizarmos o delimitador inicial (nesse caso, [) a troca vai ser feita inserindo um espaço em branco. Outras trocas possíveis com cs são
"Olha mãe, sou HTML!" cs"<b> <b>Olha mãe, sou HTML!</b>
Nesse caso das tags HTML, podemos trocar uma pela outra usando o atalho t, que se referem a uma tag HTML ou XML (assim como w, W, s e p representam respectivamente uma palavra, uma PALAVRA, uma sentença e um parágrafo)
<b>Olha mãe, sou HTML!</b> cst<i> <i>Olha mãe, sou HTML!</i>
Agora parando o cursor em cima de "HTML"
<i>Olha mãe, sou HTML!</i> csw<b> <i>Olha mãe, sou <b>HTML</b>!</i>
Existem mais alguns comandinhos e mapeamentos, que podemos conferir executando o help surround, mas o grosso da coisa é esse aí. Espero que aproveitem. :-)
Comentários
Comentários fechados.
Artigos anteriores
- Pull requests em modo raiz - sex, 22 de dezembro de 2023, 09:57:09 -0300
- Qual a idade do seu repositório? - ter, 27 de dezembro de 2022, 12:50:35 -0300
- Utilizando ctags em projetos Rails mais recentes - qui, 24 de junho de 2021, 08:23:43 -0300
- Fazendo o seu projeto brotar - seg, 15 de julho de 2019, 08:57:05 -0300
- Learn Functional Programming with Elixir - sex, 02 de março de 2018, 18:47:13 -0300
- Ambiente mínimo - Driver Driven Development - qua, 23 de agosto de 2017, 15:15:03 -0300
- Ambiente mínimo - repositórios de código - dom, 16 de abril de 2017, 13:02:14 -0300
- Ambiente mínimo - terminal e navegador - dom, 02 de abril de 2017, 21:43:29 -0300
- Utilizando muitas gems no seu projeto? - sáb, 29 de outubro de 2016, 11:57:55 -0200
- Desenvolvedores e inteligência artificial - seg, 11 de julho de 2016, 09:09:38 -0300
Max, ih rapaz, não é que eu comi bronha ali mesmo! Vou arrumar!
Obrigado pelo toque! :-)
Interessante, estou treinando :)
Acho que o "cst"
Olha mãe, sou HTML!
cst
Olha mãe, sou HTML!
na realidade e' um "csw"