Em editores de texto em geral, utilizamos macros quando precisamos repetir a mesma sequência de passos muitas vezes para conseguir fazer uma determinada tarefa. A palavra macro, do jeito que é utilizada em computação, vem do termo macroinstruction (macroinstrução). Então, quando falamos em macro, significa que estamos falando de um agrupamento de várias instruções em um único comando.
Por que usar macros?
Vamos imaginar um exemplo bem simples. Suponha que você escreveu várias linhas de código CSS e esqueceu de colocar o ponto-e-vírgula ao final de cada uma delas. Para consertar isso, normalmente você teria que:
- Posicionar o cursor no final da linha (digitar End)
- Inserir o ponto-e-vírgula (digitar ;)
- Descer o cursor para a linha seguinte (digitar Seta para baixo)
- Voltar ao passo 1 e repetir o processo para as linhas restantes
Consegue imaginar a ginástica necessária para fazer isso em um arquivo CSS com centenas de linhas? Em editores de texto que possuem o recurso de macros, é possível gravar esta sequência de comandos e reutilizá-la para cada linha na qual precisarmos incluir um ponto-e-vírgula.
Gravando uma Macro
No Sublime Text é muito fácil gravar uma macro:
- Para iniciar a gravação, basta ir em Tools | Record Macro (Ctrl+Q)
- Em seguida, execute uma vez a sequência de comandos que deseja repetir (no exemplo que vimos acima, seria digitar End, depois ; e finalmente Seta para baixo)
- Por fim, digite Ctrl+Q novamente para encerrar a gravação da macro
Executando uma Macro
Uma vez que a macro está gravada em memória, a cada vez que você executar o comando Tools | Playback Macro (Ctrl+Shift+Q), o Sublime Text repetirá a sequência efetuada no passo 2 acima.
É importante lembrar que a macro é executada a partir da posição atual do cursor, ou seja, ao gravá-la para executar mais de uma vez em seguida, é preciso levar em consideração a posição final do cursor no último “passo” da macro. É por isso que o último passo do nosso exemplo foi digitar Seta para baixo. A finalidade é deixar o cursor no ponto certo para a próxima execução.
Confira o vídeo abaixo para entender melhor como funciona o processo de gravação e execução de macros:
Resumo dos Atalhos
Iniciar/Parar gravação | Executar macro | |
---|---|---|
Linux | Ctrl+Alt+Q | Ctrl+Alt+Shift+Q |
Mac | Ctrl+Q | Ctrl+Shift+Q |
Windows | Ctrl+Q | Ctrl+Shift+Q |
* * *
Gostou do conteúdo? Crie seu próprio site com a Hostinger!
Hospedagem confiável, preços acessíveis e suporte de qualidade. Tudo que você precisa para montar seu site com rapidez e facilidade. Clique no link abaixo e aproveite o desconto especial de 20% para novos clientes! ⬇️
Quero criar meu site!
Comece sua jornada online agora mesmo!
Link permanente
Fico bem vago o vídeo, não dá para entender o que exatamente tem que fazer, tipo fica tudo parado sem explicação, sinceramente, ao invés de por o som na gravação ficaria mais prática explicar, o que foi gravado ?? Um monte de código na tela, ele irá gerar tudo automatico ? Não ví o resultado,,, espero que entendam como uma crítica construtiva, melhor que ouvir um sonzinho tocando é uma boa explicação do que se acontece. 😉
Link permanente
Olá, Fabiano!
Muito obrigado por dedicar tempo para postar sua dúvida. A intenção do vídeo é apenas ilustrar o que já havia sido descrito no post, por isso optamos por não colocar narração. O código que aparece no vídeo já havia sido digitado previamente e se trata somente de um exemplo para a gravação da macro que irá colocar ponto-e-vírgula no final das linhas.
Abraço,
Link permanente
Como faço o macro ser executado até o final do arquivo?
Tenho um arquivo com mais de mil linhas e tenho que ficar segurando as teclas de atalho
Link permanente
parece que no sublimetext nao tem essa função, no notepad++ dá
Link permanente
Olá Rodrigo, ainda não consegui fazer com que o macro seja executado até o final sem ficar segurando as teclas de atalho.
Você me informar se este recurso é possível no sublime?
Link permanente
Olá, Paulo!
Tente fazer o seguinte:
1. Selecione todas as linhas para as quais deseja executar a macro. Se forem todas as linhas do arquivo, faça
Ctrl+A
;2. Digite
Ctrl+Shift+L
para dividir a seleção em linhas (seleção múltipla, com um cursor para cada linha);3. A partir daí é só executar a macro e ela será repetida simultaneamente para cada posição do cursor
Na verdade, é possível que você nem precise de macro para isso. Talvez seja suficiente primeiro criar as seleção múltipla por linha e depois simplesmente digitar a sequência de ações desejada.
Espero ter ajudado. Abraço!
Link permanente
não entendi Rodrigo, poderia fazer um vídeo rápido sobre isso? Obrigado. E parabéns pelo site, está me ajudando muito.
Link permanente
Olá, Davi!
Muito obrigado! Bom saber que estamos sendo úteis 🙂
Atendendo a pedidos, está disponível um videozinho rápido sobre o assunto: https://youtu.be/pAbUKrcaYGY
Espero que ajude! Abraço!
Link permanente
Bom dia Rodrigo,
Excelente…Funcionou…
Obrigado pela dica….
Link permanente
Olá Rodrigo,
Executei e funcionou…
Poderia me explicar esta parte do texto e dá algum exemplo de seleção múltipla por linha
“Talvez seja suficiente primeiro criar as seleção múltipla por linha e depois simplesmente digitar a sequência de ações desejada.”
Obrigado
Link permanente
Olá, Paulo!
Gravei um video rápido com essa explicação https://youtu.be/pAbUKrcaYGY
Qualquer dúvida é só dizer. Valeu!
Link permanente
Como posso criar uma tecla de atalho para cada macro que salvei ??
por exemplo, tenho 3 macros e quero que cada uma tenha uma tecla de atalho diferente
“macro 1 crtl+1” , “macro 2 crtl+2” , “macro 3 crtl+3”
Link permanente
Oi Daniel,
Quando precisei este link me ajudou
http://www.voltsdigital.com.br/labs/macetes-sublime-text/
na parte Macros, eliminando tarefas repetitivas
Link permanente
Gostaria que me ajudassem em uma macro simplesmente para copiar todas
ocorrências de ‘misspellings’ (erros ortográficos) de um texto para um outro
documento texto, assim facilitaria em muito meu trabalho de tradução.
Copiei um exemplo da web mas sou newbie em programação, macro e scripts…
e não consigo fazê-la(o) funcionar:
‘THE MACRO STARTS HERE
Sub ListSpellingErrors()
Dim myDoc As Document
Dim myErrorCount As Integer
Dim e As Integer
Dim myOption As Integer
‘*****************
‘CHOOSE ONE OF THE FOLLOWING
‘THREE OPTIONS:
‘OPTION 1
‘List the errors at the end of
‘your document.
‘OPTION 2
‘List the errors in a new
‘document.
‘OPTION 3
‘List the errors in the document
‘in the next window, such as a new,
‘blank document you’ve already created,
‘or a MultiMacro list.
‘Specify the number of your option
‘in the following line:
myOption = 1
‘*****************
‘Macro specifies the current document:
Set myDoc = ActiveDocument
‘Macro tells Word the document hasn’t
‘already been spell-checked
‘(whether it has or not):
myDoc.SpellingChecked = False
‘But if you want Word to remember
‘spell-checking you’ve already done,
‘put an apostrophe in front
‘of the command above, which turns
‘off the command.
‘Macro counts the number of errors
‘in the document:
myErrorCount = myDoc.SpellingErrors.Count
If myOption = 1 Then
Selection.EndKey Unit:=wdStory
ElseIf myOption = 2 Then
Documents.Add
ElseIf myOption = 3 Then
If Windows.Count >= 2 Then
WordBasic.NextWindow
Else
MsgBox “Only one document open.”
GoTo EndMacro
End If
End If
‘Now type the misspellings into
‘the specified location:
For e = 1 To myErrorCount
Selection.TypeText Text:=myDoc.SpellingErrors(e)
Selection.TypeParagraph
Next e
If myOption = 3 Then
WordBasic.NextWindow
End If
EndMacro:
End Sub
‘THE MACRO ENDS HERE
Link permanente
Ola pessoal!, Alguém poderia me ajudar com uma informação? Eu queria saber se tem um programa que robotiza tanto no computador e na internet ?
Link permanente
bom dia Rodrigo e colaboradores; tenho 2 teclados da Multilaser com 10 teclas de macro cada um (1 deles só está ali por causa das 10 macros dele); eu salvo vários arquivos de trabalho da internet, todos com o nome no mesmo tamanho: ATOrd_0010825-11.2013.5.01.0061_1grau.pdf; então como eles são de clientes diferentes, cada uma dessas macros faz o seguinte: dou um clique com o mouse no nome e, aperto a tecla macro (M1): ela dá faz: “F2, Home, berkmans, (espaço), Del, End, Setinha < 4 vezes, Back Space 6 vezes,(espaço), Caps Lock", aí escrevo o nome da EMPRESA (do berkmans) e, pressiono a macro (M3), que é sequência: "Caps Lock, (espaço), Hífen, (espaço), processo-, Caps Lock, PJE, (espaço), Caps Lock" então digito dia-mês (hoje), dia-mês(entregar o serviço), dia (fatal de entrega) e, teclo enter.
Ocorre que preciso de pelo menos 50 macros e, só tenho 20 teclas nos dois, sendo que em 7 delas utilizo outros procedimentos do trabalho; existe alguma forma de criar outras com teclas de atalho?