
у меня .vimrc
отображаются вертикальные линии, поэтому я могу легко отслеживать блоки отступов, как и практически в любом текстовом редакторе/IDE.
if(x == 1){
| if( y == 1){
| | y();
| }
}
есть ли способ сделать это более полезным и вместо этого показывать уровень идентификации? Я не буду путать это с реальным кодом, так как я уже использую для них цвет с чрезвычайно низкой контрастностью.
if(x == 1){
1 if( y == 1){
1 2 y();
1 }
}
Это было бы очень полезно для поиска уровня вложенности в некоторых безумных методах, которые мне приходится рефакторить на работе. Мой текущий обходной путь заключается в наличии горизонтальных окон, чтобы я мог оставить верхнее, когда блоки начинают сходить с ума, и нижнее, куда я перехожу для изменения кода.
PS: у меня уже есть плагины радужных скобок, но они больше не помогают.
решение1
У меня недостаточно репутации, чтобы прокомментировать ваш вопрос, поэтому я публикую ответ и обновлю его, если найду что-то лучшее. Вот мой «ответ»:
Это не совсем то, что вы просите, но вы уже пробовали ":set list"? (":set nolist" для деактивации). Если это жесткие табуляции (истинные символы табуляции, например ^I
), это покажет ^I
для каждой табуляции. Таким образом, вы сможете визуально увидеть и посчитать количество табуляции для любой заданной строки. Вот почему я говорю, что это не совсем то, что вы ищете, например, формат, который вы предоставили/предложили в своем вопросе.
Также, кстати, я также привык использовать при работе с менее сложным кодом (например, сотни строк кода и максимум несколько файлов). Как только я начал работать над проектами с тысячами или миллионами строк кода и сотнями файлов, я начал использовать , чтобы скобки выстраивались в линию (немного похоже на ту же идею, что и вы, на мой взгляд). Это действительно помогает, когда вы также используете для перемещения между скобками в vim. Я также использую горизонтальное разделение окна, так как некоторый код иногда слишком длинный (просит своей собственной функции и т. д.).if(statement){
// code here...
}if ( (complexStatement) )
{
// code here...
}%
НТН
решение2
Ну, это не совсем то, что вы хотите, потому что это невозможно. Но вы можете использовать мойДинамическиеЗнакиплагин для отображения уровня отступа в колонке желоба. Установите :let g:Signs_IndentationLevel=1
и запустите :Signs
.
:h DynamicSigns.txt
Чтобы узнать, что с этим можно сделать, ознакомьтесь с справкой по адресу .