Gedit lê o arquivo na memória e fecha o identificador de arquivo. Tipicamente:
open("/path/to/your/file", O_RDONLY|O_LARGEFILE|O_NOATIME) = 18
read(18, "blah blah blah"..., 4096) = 305
close(18) = 0
ou algum mmap ou outro caminho. (Não tenho certeza exatamente como ele lê arquivos, mas o ponto é que ele não mantém os arquivos abertos.)
Depois disso, ele mantém a pesquisa para verificar se ela foi alterada. E reabra em escrever.