Como mostrar o nível de ident no vim em vez das marcas de tabulação?

0

meu .vimrc mostra linhas verticais para que eu possa seguir 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? Eu não vou confundi-lo com o código real, já que eu já uso uma cor de contraste extremamente baixa para eles.

if(x == 1){
1   if( y == 1){
1   2   y();
1   }
}

Isso seria realmente útil para encontrar meu nível de aninhamento em alguns métodos malucos que eu tenho que refatorar no meu trabalho. Meu trabalho atual envolve ter uma janela horizontal apenas para que eu possa deixar a parte de cima quando os blocos começarem a enlouquecer e a parte inferior onde eu navegue para mudar o código.

PS: eu já tenho plugins parênteses do arco-íris. mas esses não estão mais ajudando.

    
por gcb 10.12.2015 / 18:55

2 respostas

0

Eu não tenho representante suficiente para comentar sua pergunta, então estou postando uma resposta e atualizarei se puder encontrar algo melhor. Aqui está minha "resposta":

Não é exatamente o que você está pedindo, mas já tentou ": set list"? (": set nolist" para desativar). Se forem tabulações difíceis (caracteres de tabulação verdadeiros, por exemplo, ^I ), isso mostrará ^I para cada guia. Dessa forma, você pode ver visualmente e contar o número de guias para qualquer linha. É por isso que eu digo que não é exatamente o que você está procurando, por exemplo o formato que você forneceu / sugeriu em sua pergunta.

Além disso, FWIW, eu também tinha o hábito de usar o if(statement){
// code here...
}

ao trabalhar com código menos complexo (por exemplo, centenas de LOC e, no máximo, alguns arquivos). Uma vez que comecei a trabalhar em projetos com milhares a milhões de LOC e centenas de arquivos, comecei a usar o if ( (complexStatement) )
{
// code here...
}
- então os colchetes se alinhavam (um pouquinho 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, pois algumas vezes o código é muito longo (implorando por sua própria função, etc.).

HTH

    
por 10.12.2015 / 19:38
0

Bem, não faz exatamente o que você quer, porque isso não é possível. Mas você pode usar o meu plug-in DynamicSigns para exibir o nível de recuo na coluna medianiz. Defina :let g:Signs_IndentationLevel=1 e execute :Signs .

Veja a ajuda em :h DynamicSigns.txt sobre o que você pode fazer com isso.

    
por 10.12.2015 / 23:23

Tags