Это как яблоки и апельсины. Оба имеют разный дизайн и философию. Vim - это текстовый редактор, а Emacs - интерпретатор Lisp, который выполняет редактирование текста.
Я использую Vim, потому что он быстрый, изящный и действительно хорош в манипулировании текстами. Он имеет составную естественную привязку ключа, которая может сделать ваши задачи разработки действительно гармоничными. Vim основан на простой * nix philiosphy, делающей одну вещь действительно хорошо - т.е. манипулирование текстом.
Расширение Vim с помощью bash / zsh и tmux обычно легко и позволяет многому научиться. ИМХО это хорошая кривая обучения. Главное - научиться интегрировать эти вещи, чтобы получить большее работающее приложение. С Vim вам нужно изучить интеграцию, потому что она не интегрируется естественным образом, если вы не скажете, как это сделать. Еще одно стоящее расширение, которое я использую, это Tig. Это основанный на ncurses интерфейс Git. У меня просто есть привязка, которая молча открывает Tig, а затем я делаю там все Git.
Это до конечного пользователя, чтобы решить, что работает лучше всего. То, что Emacs и Vim выдержали испытание временем, является доказательством их достоинства. В конце концов, хорошему программисту для творчества нужны только ручка и бумага. Хорошие алгоритмы не нуждаются в редакторах для их поддержки. Попробуйте оба и посмотрите, что делает вас более продуктивным. Изучите шаблоны проектирования с помощью обоих этих программ, так как есть, что изучать и изучать!