Guia para marcas Vim

Guia Para Marcas Vim



As marcas Vim são locais específicos em um arquivo que podem ser definidos com um nome e posteriormente retornados chamando-os pelos seus nomes. A carta eu seguido por outra letra {a-z ou A-Z} pode ser usado para definir a marca, e um citação única ) ‘) com o nome da marca é usado para retornar a essa marca. Observe que, o minúscula letras são usadas para definir marcas locais enquanto o maiúsculas letras são usadas para definir o marcas globais .

Compreendendo as marcas Vim

O Vim permite que você defina posições específicas em um arquivo, especialmente se você estiver trabalhando em um arquivo grande onde precisa avançar e voltar rapidamente. Este recurso torna a navegação em um arquivo com centenas de linhas excepcionalmente simples. Por exemplo, se você estiver trabalhando em um código Python com 500 linhas de código, talvez seja necessário rolar o arquivo para chegar a uma linha de código específica. Mas se você definir marcas nos locais desejados, poderá mover-se facilmente pressionando algumas teclas.







Bem, a funcionalidade das marcas do Vim não se limita à navegação, você também pode usar marcas para executar outros comandos, que discutirei em seções posteriores deste guia. Vamos explorar como definir e usar marcas no Vim.



Observação: Estou usando a distribuição Linux (Ubuntu 22.04) e Vim versão 8.2 para obter as instruções neste guia.



Defina uma marca

Para definir a marca no Vim, mantenha o cursor onde deseja definir a marca e pressione o botão eu chave , seguido por qualquer carta de a para Com . Por exemplo, se eu quiser marcar com o nome da letra Com então vou digitar mz no modo NORMAL.





mz

Existem várias maneiras de definir uma marca no Vim, este procedimento é o mais rápido.

Embora o procedimento mencionado acima seja amplamente utilizado e muito rápido, você não obtém nenhuma indicação visual se a marca foi definida ou não, a menos que você a verifique explicitamente.



Para listar as marcas no Vim, use o :marcas comando, que discutirei no Listar marcas seção. No entanto, você pode ativar a indicação de pressionamento de tecla na parte inferior da janela usando o botão :defina showcmd.

: definir mostrar cmd

Você também pode usar o marca ou o Marca comandos para definir a marca. Por exemplo, o Com mark também pode ser definido usando o comando fornecido abaixo:

: marca z

Cada arquivo Vim pode ter marcas de a para Com , mas se você definir uma marca Com para uma posição e usar o mesmo nome de marca para outra posição, a marca definida anteriormente será removida (sobrescrita).

Observe que as letras maiúsculas {A-Z} também podem ser utilizadas para definir uma marca. As marcas com letras maiúsculas são marcas globais e com base em arquivos. Discutirei detalhadamente as marcas globais em uma seção separada.

Listar marcas

Conforme discutido na seção anterior, todas as marcas criadas podem ser facilmente listadas

usando o :marcas comando.

: marcas

Na imagem de saída acima, todas as marcas estão listadas; alguns são personalizados e outros são padrão.

Existem também alguns outros métodos para listar as marcas. Para listar uma marca específica, use o :marcas comando com o nome da marca. Por exemplo, para listar a marca Com, use o :marcas comando:

: marcas z

Da mesma forma, para listar várias marcas, use o :marcas :

: marcas abz

Onde a , b, e Com são nomes de marcas diferentes.

As marcas dentro dos arquivos não são visíveis por padrão e para visualizá-las graficamente, existem vários plugins. Os plug-ins conhecidos que podem exibir marcas no Vim são Mostrar marcas e Assinatura Vim .

Como o plugin ShowMarks está cheio de erros e não é atualizado há muitos anos, irei instalar o Assinatura Vim plugin para visualizar marcas.

Ao instalar o plugin, defina a marca e o plugin irá mostrá-lo explicitamente com o nome conforme ilustrado na imagem a seguir.

Salte para uma marca

Depois de definir a marca, o próximo passo é navegar pelas marcas. Para pular para o início da linha marcada no buffer atual, pressione o botão citação única (') com o nome da marca {a-z}.

'Com

Para pular para o local exato (linha/coluna) pressione o botão crase (`) com o nome da marca {a-z}.

`z

O single (') e o backtick (`) também podem ser usados ​​para saltar as marcas globais {A-Z}.

Uma tabela de navegação pelas marcas minúsculas é mencionada abaixo:

'' Volte para a linha de onde você pulou
Salte de volta para a posição de onde você saltou
' . /`. Para pular para a última linha/posição editada
`[\`] Para pular para o início/fim do último texto arrancado
`<\`> Para pular para o início/fim da última seleção visual
[contar]] ' Para pular para a próxima linha de [count] o número de marcas da posição atual do cursor
[contagem]]` Para pular [contar] o número de marcas da posição atual do cursor

É importante observar que as teclas de navegação mencionadas acima são para letras minúsculas.

A discussão sobre as marcas do Vim estará incompleta se não discutirmos o salta e lista de salto . O lista de salto armazena os saltos feitos dentro do arquivo ou entre os arquivos, sejam eles marcas ou saltos padrão normais do Vim.

Para listar todos os saltos, use :pula comando, e para excluir todos os saltos, use o : saltos claros. Para navegar nos saltos, use Ctrl + O e Ctrl + eu chaves.

Observação: Antes de excluir os saltos, lembre-se de que a exclusão dos saltos pode afetar o histórico de navegação.

Acho mais conveniente usar saltos para percorrer as marcas. Primeiro limpo todos os saltos porque se não fizer isso posso acabar em outros arquivos. Então eu registro saltos de marca no lista de salto arquivo usando aspas simples ou crase. Uma vez feito isso, eu uso o Ctrl + O e Ctrl + eu teclas para saltar pelas marcas rapidamente.

Para obter mais ajuda sobre como navegar pelas marcas, use o :marcas de ajuda e :ajuda jumplist comandos.

Marcas Globais

As marcas globais no Vim são configuradas para alternar entre os arquivos. Ao contrário das marcas locais, as marcas globais são definidas com letras maiúsculas e podem ser usadas em todos os arquivos.

Vamos entender a importância das marcas globais com a ajuda de um exemplo. Supondo que você esteja trabalhando em um arquivo de código e queira acessar uma função específica nesse arquivo. Portanto, ao invés de abrir o arquivo, basta digitar a marca global definida e o arquivo será aberto com o local específico.

Para definir a marca global, use o comando mark eu seguido por uma letra maiúscula {A-Z}.

mZ

Agora você pode acessar esta marca de qualquer arquivo. Para saltar para a marca global, utilize o mesmo procedimento mencionado no Salte para uma marca seção. O arquivo contendo a marca será aberto, fechando o atual.

'COM

Da mesma forma, para ir para o local exato, use o crase com o nome da marca (`Z).

Marcas Numeradas

As marcas numeradas {0-9} são usadas para armazenar a posição atual do cursor no viminfo arquivo quando você sai do arquivo. As marcas numeradas são especiais e não podem ser definidas diretamente. Essas marcas são geradas automaticamente no viminfo arquivo para acompanhar as modificações no arquivo quando você sai do arquivo. Por exemplo, quando você sai de qualquer arquivo, o viminfo O arquivo salva as informações da última posição do cursor nas marcas numeradas, como 0, 1, 2 e assim por diante.

Você pode listar as marcas numeradas usando o :marcas comando.

Para obter mais informações sobre as marcas numeradas do Vim, use o :help viminfo-file-marks comando.

Excluindo Marcas

Existem vários métodos para excluir todas as marcas, marcas específicas ou um intervalo de marcas.

Para excluir marcas, o :delmarks ou :delm comandos podem ser usados.

:delmarks z Para excluir uma marca específica, por exemplo, Com
:delmarks xz Para excluir marcas de x para Com tal que excluir x , e , e Com
:delmarks abxy Deletar a , b , x, e e marcas
:delmarks zZ Deletar Com e COM marcas

Para limpar todas as marcas {a-z} minúsculas, use :delmarks! comando. Para limpar marcas maiúsculas e números, você precisa usar :delmarks A-Z e :delmarks 0-9 comandos. Se você quiser limpar as marcas {A-Z} maiúsculas, use :delmarks A-Z . As marcas numeradas também podem ser apagadas usando o mesmo comando.

Características avançadas

Como as marcas são locais, elas também podem ser usadas para editar o arquivo no Vim. Por exemplo, para apagar, copiar ou alterar algo de uma marca específica para outra marca você pode usar o respectivo comando com a menção do nome da marca.

Na tabela a seguir, o Com é usado como o nome da marca.

d ' z / d`z Excluir da linha atual para a próxima linha marcada / Excluir da posição atual até a próxima posição marcada exata
c ' z / c`z Alterar o texto da linha atual para a próxima linha marcada / Alterar o texto da posição atual até a próxima posição marcada exata
e ' z / y`z Copiar (arrancar) texto da linha atual para a próxima linha marcada / Copiar texto da posição atual até a próxima posição marcada exata

Se você quiser realizar um em linha operação, então chame a marca usando aspas simples ('), e se você quiser realizar uma personagem operação, use backtick (`).

Da mesma forma, se quiser excluir, alterar ou arrancar qualquer coisa entre duas marcas, você pode usar a seguinte sintaxe de comando.

: 'x,' e < d,c ou y >

Por exemplo, se você deseja excluir todas as linhas da marca ‘x marcar 'e use o : ' x, ' e d comando.

Veja o seguinte arquivo com marcas b e c .

Para remover todas as linhas da marca b para o c (inclusive), execute o comando abaixo:

: 'b,' cd

Diferença entre marcas minúsculas e marcas maiúsculas

Ambas as marcas minúsculas e maiúsculas têm funcionalidades distintas.

As marcas minúsculas são usadas nos arquivos e podem ser definidas em ordem alfabética a para o alfabeto Com em qualquer arquivo. Eles são exclusivos dos arquivos em que foram criados. Eles podem ser acessados ​​e gerenciados nos arquivos onde foram criados. Por outro lado, as marcas maiúsculas {A-Z} são globais e não podem ser definidas com o mesmo nome. Essas marcas podem ser acessadas de qualquer arquivo usando o apóstrofo (‘) ou o crase (`).

A navegação e o processo de exclusão de marcas minúsculas e maiúsculas são semelhantes. Mas as marcas minúsculas têm mais comandos de navegação devido às suas configurações no arquivo.

Outra coisa importante é que as marcas não sejam apagadas ao sair do arquivo ou sessão. Portanto, se você definiu uma marca, ao reabrir as marcas do arquivo permanecerão intactas.

Folha de referências das marcas Vim

As principais operações necessárias para usar o recurso de marcas no editor Vim são mencionadas na imagem a seguir.

Conclusão

As marcas no editor Vim são posições personalizadas para navegar em um arquivo com centenas de linhas. Existem dois tipos de marcas, marcas maiúsculas e minúsculas. As marcas minúsculas são úteis para navegar no arquivo. Para navegar pelos arquivos, são usadas letras maiúsculas. Para definir a marca, a letra eu é usado com outra letra minúscula ou maiúscula {a-z, A-Z}. Marcas de qualquer arquivo podem ser listadas usando o :marcas comando. Para excluir uma marca :delmarks ou :delm comandos com o nome da marca são usados.