I guess emacs is slightly better than vi[m], but only in the same way that bronchitis is better than pneumonia. Since commit messages are commonly a line or two of plain text, using an unintuitive program like either seems to me like trying to run a marathon in Doctor Martin boots.