
meu .vimrc
mostra linhas verticais para que eu possa seguir os blocos de identificação facilmente, como praticamente todos os editores de texto/IDE.
if(x == 1){
| if( y == 1){
| | y();
| }
}
existe alguma maneira de tornar isso mais útil e mostrar o nível de identificação? Não vou confundi-lo com código real, pois já uso uma cor de contraste extremamente baixo para eles.
if(x == 1){
1 if( y == 1){
1 2 y();
1 }
}
Isso seria muito útil para encontrar meu nível de aninhamento em alguns métodos malucos que tenho que refatorar em meu trabalho. Minha solução atual envolve ter janelas horizontais apenas para que eu possa deixar a de cima quando os blocos começarem a ficar malucos e a de baixo onde navego para alterar o código.
PS: eu já tenho plugins de parênteses do arco-íris. mas esses não estão mais ajudando.
Responder1
Não tenho representante suficiente para comentar sua pergunta, então estou postando uma resposta e a atualizarei se encontrar algo melhor. Aqui está minha "resposta":
Não é exatamente o que você está pedindo, mas você já tentou ":set list"? (":set nolist" para desativar). Se forem guias rígidas (caracteres de tabulação verdadeiros, por exemplo ^I
), isso mostrará um ^I
para cada guia. Dessa forma, você pode ver visualmente e contar o número de tabulações de qualquer linha. É por isso que digo que não é exatamente o que você está procurando, por exemplo, o formato que você forneceu/sugeriu na sua pergunta.
Além disso, FWIW, eu também tinha o hábito de usar quando trabalhava com códigos menos complexos (por exemplo, centenas de LOC e no máximo alguns arquivos). Assim que comecei a trabalhar em projetos com milhares a milhões de LOC e centenas de arquivos, comecei a usar para que os colchetes se alinhassem (um pouco da mesma ideia que você procura, IMO). Isso realmente ajuda quando você também usa para alternar entre colchetes no vim. Eu também uso a divisão horizontal da janela, já que às vezes alguns códigos são muito longos (implorando por sua própria função, etc.).if(statement){
// code here...
}if ( (complexStatement) )
{
// code here...
}%
HTH
Responder2
Bom, não faz exatamente o que você quer, porque isso não é possível. Mas você pode usar meuSinais Dinâmicosplugin para exibir o nível de recuo na coluna medianiz. Configure :let g:Signs_IndentationLevel=1
e execute :Signs
.
Veja a ajuda em :h DynamicSigns.txt
para saber o que você pode fazer com isso.