|
|
|
+++
|
|
|
|
title = "05. Marcadores"
|
|
|
|
date = 2015-12-22
|
|
|
|
weight = 1280
|
|
|
|
+++
|
|
|
|
|
|
|
|
Essa é a parte em que você não vai mais precisar se lembrar da última linha
|
|
|
|
que estava editando.
|
|
|
|
|
|
|
|
<!-- more -->
|
|
|
|
|
|
|
|
Algumas vezes você precisa ficar pulando entre partes diferentes do seu
|
|
|
|
arquivo. Alguns editores oferecem a funcionalidade de "bookmark" para linhas
|
|
|
|
específicas e ficam "pulando" entre estes bookmarks. O VIM tem uma
|
|
|
|
funcionalidade semelhante, chamada "Marcadores". A diferença é que enquanto os
|
|
|
|
demais editores só tem um estado para marcadores (ativo ou não), o VIM permite
|
|
|
|
que você tenha até 26 marcadores únicos -- e que podem ser acessados
|
|
|
|
diretamente.
|
|
|
|
|
|
|
|
Para marcar uma linha, você deve usar `m{nome do marcador}` em modo normal, onde
|
|
|
|
`{nome do marcador}` é uma letra de "a" a "z". Para ir diretamente para um
|
|
|
|
marcador, é só usar `'{nome do marcador}` para simplesmente mover o cursor para o
|
|
|
|
primeiro caractere não branco na linha do marcador ou `\`{nome do marcador}` para
|
|
|
|
mover o cursor exatamente para a posição do marcador (ambos também em modo
|
|
|
|
normal).
|
|
|
|
|
|
|
|
Como tudo no VIM, maiúsculas e minúsculas fazem diferença.
|
|
|
|
|
|
|
|
Criar um marcador com um nome em minúsculas signifca que o marcador é valido
|
|
|
|
somente dentro do arquivo. O marcador "a" do arquivo "arquivo1" não é o mesmo
|
|
|
|
marcador "a" do arquivo "arquivo2". Quando um marcador é criado em maiúsculas,
|
|
|
|
ele se torna global: Se você fizer `mA` no arquivo "arquivo1" e abrir o arquivo
|
|
|
|
"arquivo2", `\`A` irá voltar para o arquivo "arquivo1" (na posição do marcador,
|
|
|
|
obviamente).
|
|
|
|
|
|
|
|
E como tudo no VIM, sempre existem os comandos mágicos.
|
|
|
|
|
|
|
|
## \`\` ou ''
|
|
|
|
|
|
|
|
Retorna para a última posição onde foi feito um "pulo". Por exemplo, se você
|
|
|
|
está na linha 100 do arquivo atual, e fizer um pulo para o marcador "a" (com `\`a`,
|
|
|
|
por exemplo), ``\`\`` irá retorna para a linha 100. Note que isso não gera um
|
|
|
|
marcador per se, já que fazer ``\`\`` de novo irá retornar para a posição do
|
|
|
|
marcador "a" (pois foi lá que aconteceu o último pulo).
|
|
|
|
|
|
|
|
|
|
|
|
## \`. ou '.
|
|
|
|
|
|
|
|
Retorna para a última posição onde houve alteração de texto. O exemplo que eu
|
|
|
|
posso pensar neste caso é quando você está digitando um comando e não se lembra
|
|
|
|
se fez o #include ou import necessário. Neste caso, você simplesmente termina
|
|
|
|
de digitar o comando, usa `gg` para ir para o começo do arquivo para verificar se
|
|
|
|
o include/import está lá e, se tiver, usa `\`.` para retornar para a posição
|
|
|
|
original.
|
|
|
|
|
|
|
|
|
|
|
|
## \`[ ou '[ e \`] ou ']
|
|
|
|
|
|
|
|
Retorna para a posição onde o texto foi copiado ("yanked") para a área de
|
|
|
|
transferência (qualquer área de transferência). `[` irá mover para o primeiro
|
|
|
|
caractere copiado e `]` para o último.
|
|
|
|
|
|
|
|
|
|
|
|
## \`" ou '"
|
|
|
|
|
|
|
|
Move para a última posição do arquivo quando o arquivo foi fechado. Isto
|
|
|
|
normalmente é controlado pelo arquivo de inicialização, que veremos mais a
|
|
|
|
frente.
|
|
|
|
|
|
|
|
E, para ver onde estão as marcas atuais, você só precisa usar `:marks` no modo de
|
|
|
|
comando.
|
|
|
|
|
|
|
|
{{ chapters(prev_chapter_link="./04-registradores", prev_chapter_title="Registradores", next_chapter_link="./06-macros-de-teclado", next_chapter_title="Macros de Teclado") }}
|