Uma das primeiras coisas que você aprende no vimtutor é seguir os links nos arquivos de ajuda do vim com Ctrl- ]. Estou interessado em criar meu próprio sistema de tags / links em arquivos arbitrários. Para o bem desta pergunta, digamos que estou criando uma espécie de lista TODO na remarcação.
Suponha que tenhamos o seguinte minifile:
TODO
=====
1. Learn Vimscript the Hard Way |hardway|
(some other things, maybe)
Complete Learn Vimscript the Hard Way
------------------------------------- :hardway
(Some sort of details, etc.)
Então o objetivo seria colocar o cursor no primeiro |hardway|
, pressionar algo semelhante a Ctrl- ]e ser transportado para a :hardway
tag localizada em outro local. Idealmente, isso poderia ocorrer se :hardway
estivesse em um arquivo diferente (mas talvez no mesmo diretório).
Atualmente, uso uma alternativa de baixa tecnologia. Em vez de |hardway|
, eu teria algo como |hardway.md|
, para que eu possa gfna "tag" e ser levado para o hardway.md
arquivo. Embora isso seja gerenciável, acho que deve ser possível (talvez até difícil) criar e manter meu próprio sistema de tags em tipos de arquivos arbitrários.
fonte
:h hardway
e ser levado para a minha entrada nahardway
qual é realmente um arquivo de ajuda. Ou talvez eu esteja entendendo mal sua sugestão? Perdoe-me, não tenho muita certeza.Respostas:
Eu implementei algo assim usando Ctags Exuberant e um
.ctags
arquivo no diretório (também deve funcionar.ctags
no diretório inicial).Você pode ler sobre o uso de Ctags com regex arbitrário, mas o essencial é que você poderá usar o mesmo Ctrl-
]
para acessar essas tags.O conteúdo do meu
.ctags
:Em seguida, execute ctags.
E você deve obter um arquivo chamado
tags
que possui mapeamentos para todos os cabeçalhos de redução no### HEADER ###
formato.Consulte
:help tags
para obter mais informações sobre como navegar em tags (por exemplo, quando houver vários hits para uma tag).fonte
VIM
:find
egf
são impressionantes, eu os uso o tempo todo, eles dependem da configuração do vimpath
e procuram por arquivos lá. O VIM também fornece configurações adicionais,suffixesadd
que são uma lista de sufixos encontrados, tentarão adicionar aos nomes dos arquivos e procurá-los. por exemplo.)set suffixesadd+='.md'
para trabalhar com arquivos de remarcação.fonte