Como eu crio meus próprios arquivos de tags com o Vim para texto não codificado interconectado?

6

Estou escrevendo um pouco de texto não-codificado interconectado no vim e gostaria de gerar minhas próprias tags para usar com a marcação do vim.

Por exemplo, há um arquivo sobre "foo" e, idealmente, sempre que eu estiver editando os arquivos "bar" e "baz" e a palavra "foo" aparecer, eu gostaria de poder ^] e pule para o arquivo foo e, em seguida, pressione ^ T e pule para onde quer que eu estivesse.

Existe alguma maneira de eu fazer meus próprios arquivos de tag onde a palavra "foo" aponta para o arquivo "foo" e assim por diante? Cada fonte que eu verifiquei apenas explica como usar ctags para gerar tags para cada linguagem de programação sob o sol, mas eu gostaria apenas de ser capaz de criar um arquivo de tag simples por conta própria.

    
por So8res 11.01.2010 / 00:10

4 respostas

3

Se eu entendi bem (e isso é um FI capital), o que você está procurando é a funcionalidade básica de ajuda do vim. Você define uma tag ( some_word ) muitos jumppoints (| jumppoint |) e é isso.

Sem entrar nos detalhes, eu realmente recomendo que você olhe através do

:help tags

arquivo de ajuda. Isso vai explicar muito. Eu não faço isso há algum tempo, mas basicamente tudo se resume a isso. Você precisa definir tags (**) e, em seguida, introduzi-las no sistema de tags do vim por meio do comando : helptags . Depois disso, não os mova, e quando usar jumppoints, você os levará através das já mencionadas Ctrl-] e T.

ctags e afins não devem preocupá-lo ... isso é completamente a funcionalidade do vim, e eles não têm nada a ver com isso (eles só entram na história quando código entra nela ... e mesmo assim, em alguns casos , se você estiver disposto a fazer algum trabalho manual, eles podem ser evitados).

    
por 11.01.2010 / 01:23
5
:help tags-file-format

lhe dará algumas dicas sobre como escrever um arquivo de tags. Mas basicamente você precisa de linhas como:

tagname TAB tagfile TAB location

A localização pode ser qualquer comando Ex; pode ser um número de linha, mas geralmente é um padrão de pesquisa como /\<foo\>/ ou /^Where is foo?$/ , para que as tags não precisem ser regeneradas sempre que você editar seus arquivos.

    
por 04.02.2010 / 14:43
2

Eu estava querendo escrever alguns documentos com os recursos de tags encontrados na ajuda do vim, mas não consegui encontrar nada on-line que tivesse uma solução simples e específica. Portanto, para qualquer pessoa que esteja atualmente procurando uma solução rápida para isso, compartilharei o que encontrei.

A maneira mais rápida de começar a usar:

Digamos que você esteja trabalhando em uma pasta vazia.

Se você criar um arquivo como este test.txt:

|topic1|
*topic1*

Em seguida, execute:

:helptags ./

O Vim irá gerar um arquivo (tags) no diretório atual (./) que permitirá que você pule (ctrl +]) de | topic1 | para * topic1 *

Se você abrir o arquivo de tags, verá a simplicidade dele:

topic1   test.txt    /*topic1*

Formato:

[key word][TAB][file][TAB][command]

Você pode adicionar outras tags a este arquivo e elas funcionarão imediatamente.

É claro que a melhor parte das tags é a capacidade de pular para as definições de outros arquivos, o que pode ser feito alterando o argumento [file] no arquivo de tags. Novamente, você precisará ter uma tag | no arquivo principal e uma tag * no arquivo filho para que ele funcione.

Escrever o arquivo de tags a partir do zero também parece funcionar sem problemas se for chamado de "tags" e você executar: helptags ./ no vim depois.

Nota:

Como outros já mencionaram neste post,: help is your friend. Se você gosta de vim, você deve passar algum tempo folheando o manual, tudo está muito bem documentado. Se você não gosta do vim, você ainda pode usar o manual para pesquisas rápidas. Na minha experiência, geralmente consigo chegar a uma solução através das páginas do manual mais rápido do que a pesquisa online. Apenas lembre-se do seguinte:

/

para começar a pesquisar

ctrl+]

para ir para o arquivo / definição

ctrl+o

para retroceder

Estes comandos básicos de navegação também são exibidos assim que você abre: ajuda

    
por 12.05.2018 / 03:07
0

Um formato de tag simples que funcionará com praticamente qualquer versão do vi / vim, e pode ser facilmente criado / editado manualmente (ainda com o vim), é o nome da tag, o caminho do arquivo e o número da linha, separados por uma guia.

Eu uso um script de linha de comando php para escanear meu código e gerar tags com este formato, imprimindo linhas:    "$ tagname \ t $ filepath \ t $ lineNo \ n"; para o arquivo de tags.

    
por 13.06.2018 / 11:00

Tags