Источник здесь.
«Давно не делал» и «давно делал» - на первый взгляд, одно и то же.
Давно не ел - давно ел. Давно не спал - давно спал.
Разница в том, что «не» указывает на ненормальность, нетипичность ситуации.
Драчун - давно не дрался, но скоро подерётся. Бывший драчун - давно дрался, но больше не дерётся.
«Гоголь давно не писал» - звучит странно, потому что для мертвеца это нормально - не писать. Гоголь давно писал.
Наверное, есть более точное правило, но учебник русского я открывал оочень давно.