В современном русском языке слово «зга» осталось только как часть известного фразеологизма про темноту. Слово это старое, поэтому однозначного ответа на вопрос о его значении нет. Даже у В. И. Даля мы видим два значения:
ЗГА –
1) темь, потемки, темнота. На дворе зга згою;
2) Кроха, капля, искра, малость чего. Ни зги хлеба нет. Недавно ослеп, а зги не видит!
Причем второе значение кажется логичнее первого, если вспомнить про фразеологизм. Попробуй разглядеть в темноте что-то крошечное, мелкую часть чего-нибудь — не тут-то было.
Кстати, еще «згой» в некоторых диалектах называли искру. На Дону она была «згрой», в Рязани — «згинкой». Если гипотетически искорка от огня будет невероятно маленькой, а темнота — черной до глубины души, то идиома тоже покажется разумной.
Есть и другая, тоже очень хорошая версия. Она предполагает, что «зга» тесно связана с древнерусскими словами «стега», «стьга», «стезя», обозначавшими дорожку или тропинку. Тогда намерение разглядеть «згу» ночью обретает особую важность — построить точный маршрут без GPS-навигатора под силу не каждому. Особенно если ты в Древней Руси и забыл дома волшебный клубок…
В пользу этой версии говорят и цитаты классиков. Например, у В. В. Маяковского читаем:
«Смотрю: ни зги, ни тропки».
Или у Н. В. Гоголя в «Мертвых душах»:
«Селифан, не видя зги, направил лошадей прямо на деревню».
Смысловое единение с траекторией движения налицо.
В псковском диалекте когда-то было слово «зга», которым называли маленькое колечко у дуги лошадиной упряжи. И во тьме при передвижении на таком биотранспорте, естественно, это колечко терялось из виду — вот тебе и «не видно ни зги».
А еще говорят, что возможным прародителем «зги» был глагол «стегать». И в этом контексте «зга» превращается в хлыст или кнут для управления лошадью.