Различия между Emacs и Vim

Не вдаваясь в религиозный спор о том, почему один лучше, чем другие, какие практические различия между Emacs и Vim? Я хочу узнать одно или другое, но я понимаю, что кривая обучения для каждого высока и я не могу решить. Я никогда не использовал редактор этого типа (Я всегда использовал IDEs), поэтому все, что помогает новичку, является плюсом.


перед началом войны пламени: я не спрашиваю, что лучше, я спрашиваю различия между двумя. Я хотел бы цель сравнение.

28 ответов


(текст ниже - мое мнение, его не следует воспринимать как факт или оскорбление)

с Emacs вы должны иметь его открытым 24/7 и жить внутри программы, почти все, что вы делаете, можно сделать оттуда. Вы пишете свои собственные расширения, используете их для заметок, организации, игр, программирования, доступа к оболочке, доступа к файлам, прослушивания музыки, просмотра веб-страниц. Это займет недели и недели, пока вы будете счастливы с ним, а затем вы узнаете новые вещи все время. Вы будете раздражены, когда у вас нет доступа к нему и постоянно меняете свою конфигурацию. Вы не сможете легко использовать версии emacs других людей, и он не будет просто установлен. Он использует Lisp, что здорово. Ты можешь сделать из него все, что захочешь. (все, что угодно)

с Vim он почти всегда предварительно установлен. Это быстро. Вы открываете файл, делаете быстрое редактирование, а затем выходите. Вы можете работать с базовой настройкой, если вы находитесь на чужой машине. Это не совсем так редактируемый, но все же намного лучше, чем большинство текстовых редакторов. Он распознает, что большую часть времени вы читаете/редактируете, а не печатаете, и делает эту часть быстрее. Вы не страдаете от emacs пинки. Это не так бесит. Так легче учиться.

хотя я использую Emacs весь день каждый день (и люблю его), если вы не собираетесь тратить много времени в выбранной вами программе, я бы выбрал vim


Vim-это не оболочка. И он плохо взаимодействует с подпроцессами. Это почти по дизайну, тогда как в Emacs эти элементы включены по дизайну. Это означает, что некоторые вещи, такие как встраивание отладчика или интерпретатора (дающего своего рода IDE), трудно в Vim.

кроме того, ярлыки Emacs в основном доступны через модификаторы, и, очевидно, интерфейс Vim отлично модален, предоставляя доступ к абсурдному количеству прямых ключей для манипуляция.

Emacs был единственным редактором из двух, которые были программируемыми, и в то время как Vim имеет много странных уровней для своей программируемости, с добавлением Привязок Python и Ruby (и многое другое, я забыл), Vim также программируется большинством способов, которые вам нужны.

Я использую Vim, и я довольно доволен этим.


Vim:

  • лучше как простой редактор (меньше ключей, необходимых для простых задач)
  • более активное сообщество сценариев-внутренний язык: vimscript
  • один центральный репозиторий скриптов, плагинов, цветовых схем,...
  • также расширяемый в python, ruby
  • можно сделать портативным (emacs имеет некоторые проблемы с этим)

Emacs:

  • немодальный по умолчанию (большинство сегодняшних редакторов приняли этот подход). Хотя есть зло-режим который эмулирует поведение vim.
  • более мощный язык для его расширения (elisp - полномасштабный язык, и в emacs вы можете практически переопределить все; в то время как в vim вы не можете переопределить построение функций редактора. С другой стороны, vimscript относительно похож на современные динамические языки, в то время как elisp не похож на довольно много чего)
  • более раздвигается
  • отличная поддержка инструментов GNU (их куча)

лично я предпочитаю vim-он маленький, делает то, что он должен делать, и когда я хочу полноценную IDE, я открываю VS. Подход Emacs быть редактором, который хочет быть IDE (или, я должен сказать, ОС), но не совсем, ИМХО, устарел. В старые времена, имея почтовый клиент, ftp-клиент, тетрис,... что не в одном пакете (emacs) имело смысл ... теперь уже нет.

оба являются, однако, темой религиозных дискуссий среди пользователей сообщества программистов и суперпользователей, и в этом отношении оба отлично подходят для запуска flame wars, если их поставить в контакт (в том же предложении / вопросе).


Если вы ищете объективный анализ обоих редакторов, посмотрите на их происхождение и философию их соответствующих проектов. Подумайте, какой из них подойдет вам лучше и изучите его (и изучите его и изучите его, потому что требуется время, прежде чем вы обнаружите его истинную полезность по сравнению с любой IDE). введение для отображения редактирования с помощью Vi был написан Биллом Джоем и Марком Хортоном, и он объясняет, почему он выбирает модальный дизайн и обоснование для различных ключевых штрихов (это помогает мне помнить, что CTRL-W +W (переключится на next Window, и это будет то же самое для CTRL W+ CTRL W, на всякий случай, если вы удерживали клавишу CTRL в течение более длительного времени.

вот ссылка временная шкала Emacs и имеет ссылку на бумагу Multics Emacs. Вот бумага RMS на Emacs, где я вижу, что акцент делается на программируемом текстовом редакторе (даже в 1981 году и раньше).

Я не читал документы emacs, но прочитал Статья Билла Джоя ви пару раз. Оба старые, но все же вы получите философию, и вы можете использовать текущий инструмент (vim 7.x или emacs 25?)

Edit: Я забыл упомянуть, что требуется терпение и воображение, чтобы прочитать обе эти статьи, поскольку это возвращает вас во времени во время чтения. Но стоит.


  1. Vim всегда запускался быстрее, чем Emacs. Я говорю, что на любой машине готовые установки Vim будут запускаться быстрее, чем готовые установки Emacs. И я склонен думать, что после умеренного количества настроек любого из них Vim все равно запустится быстрее, чем Emacs.

  2. после этого другим практическим отличием были режимы Emacs. Они делают вашу жизнь чрезвычайно проще при редактировании XML, C/C++ / Java / whatever, LaTeX, и самые популярные языки, какие только можно придумать. Они заставляют вас хотеть держать редактор открытым для длительных сессий и работы.

в целом, я скажу, что Vim тянет вас к нему для коротких, быстрых задач редактирования; в то время как Emacs поощряет вас погружаться в длинные сессии.


VI всегда доступен и будет работать в самом искалеченном, однопользовательском режиме, сломанной графике, без клавиатуры, медленной машине ссылок - поэтому стоит знать, как редактировать простые файлы в нем только для задач sysadmin.

Emacs-это полный пользовательский интерфейс в Редакторе. Идея в том, что вы запускаете Emacs при запуске машины и никогда не покидаете ее. Можно провести тысячи сеансов.

стоит ли изучать возможности Emacs по сравнению с использование редактора GUI / IDE и использование чего-то вроде python/awk/etc для дополнительных задач зависит от вас.


Я полномасштабный поклонник Emacs, но я знал VI задолго до того, как я знал Emacs. Тем не менее, я заставляю всех своих людей изучать VI, потому что он всегда доступен, везде. Не могу ошибиться ни с одним из них.


Я начал с vi, пошел в emacs, затем в vim. Я думал попробовать Emacs, чтобы увидеть, что изменилось за последние пять лет. (Говоря об IDE, я некоторое время попал в eclipse, но я предпочитаю, чтобы мое окно терминала подключало мой mac к моему (мужу) linux box).

вырезать и вставить вещь беспокоит меня в последнее время. Вырезать и вставить в Vim занимает больше шагов, чем в Emacs, IIRC. И вставка из браузера в окно терминала раздражает, если вы этого не сделаете что-то необычное, что мне не хочется делать, поэтому я смирилась со странной вмятиной. Я думаю, редактирование нескольких файлов в emacs было проще. По крайней мере, переход от одного файла к другому, если у вас есть оба на экране.

Я не играл с причудливыми функциями vi или emacs, так как мне просто нравится заниматься кодированием. Все, что мне нужно, это красивые цвета и правильная вкладка для преобразования пространства (особенно важно с python).

Я думаю, что это все зависит от того, хотите ли вы использовать :wq или Ctrl-x Ctrl-s (IIRC), чтобы сохранить файл, если вы не заботитесь о причудливых вещах.

@mgb был прав. Я был в минимальном linux, чтобы исправить что-то всего месяц или два назад в дистрибутиве Debian. единственным редактором был ви.


для меня плюсы emacs,

  • tramp-mode позволяет редактировать удаленные файлы по ssh. как и локальные файлы.
  • бродяга-режим + dired = полнофункциональный sftp клиент
  • поддержка каждого языка, который вам когда-либо понадобится.
  • встроенный эмулятор терминала (терминальный режим), поэтому я могу продолжать кодирование без переключения между приложениями.
  • расширяемость все, что вам не нравится, вы можете изменить с помощью lisp.

кажется, что ответ уже выбран, но большая разница для меня всегда была модальной и немодальной. Vim является модальным, что означает, что он выполняет оптимизацию на основе определенного набора режимов использования. По крайней мере, я всегда так на это смотрел. Это делает использование Vim другим опытом, потому что вместо рабочей области, в которую вы вводите код, вы действительно говорите среде действовать по тексту. Вот почему люди говорят, что с Vim вы действительно учитесь язык. :Wq и: s/foo / bar являются частью оболочки, подобной среде, которая редактирует и читает текст.

Emacs, с другой стороны, намного ближе к большинству редакторов/текстовых процессоров/и т. д. вот видишь, сегодня. У вас есть рабочее пространство с высоко программируемым интерфейсом. Вот почему вы видите такие вещи, как электронная почта, irc, оболочки и т. д. Как программист, легко думать, говоря: "возьмите номер строки, на которой я нахожусь, и сделайте что-то с информацией". Желание уйти из редакции становится меньше потому что вместо того, чтобы выйти, открыть какое-то другое приложение/язык и сделать что-то на некотором тексте, у вас есть Emacs, где вы можете сделать эти вещи в пределах вашего редактора.

эти две идеи не обязательно противоположны, но они просто показывают два разных фокуса. Лично я использую Emacs, но я видел людей, которые знают Vim очень хорошо и могут честно сказать, что не имеет значения, какой вы выбираете. Я попробовал первый ВИМ но Emacs итоге прилипания для меня. Это правда, что неважно что вы выбираете, вы должны быть, по крайней мере, несколько опытным в Vim, как это действительно всегда доступно.


существует огромная разница на уровне изо дня в день - Vim (или любой вариант vi) по своей сути модален (вы переходите в командные режимы, где вы не можете редактировать), а Emacs (вместе с большинством других редакторов) - нет.

конечно, используя меню и такие, вам не нужно сначала вводить командный режим в Vim -. Но использовать даже малую часть силы Vim вы будете. Это лежит в основе дебатов Vim/Emacs.

лично я также думаю, что Emacs далеко более расширяемый. Вы можете найти пакеты Elisp для многих вещей.

Мне любопытно, однако, почему вы думаете изучить один из них над более традиционной IDE. Зачем ты хочешь выучить один из них?


есть много чего, что было сказано о обоих редакторах, но у меня есть только мои 5 пенсов, чтобы добавить. Оба редактора замечательные, и вы не можете ошибиться ни с одним из них.

Я пользователь vi/vim уже около 15 лет. Я несколько раз пытался конвертировать в emacs, но каждый раз обнаруживал, что vim действительно может сделать недостающую вещь из коробки без необходимости писать расширение lisp или устанавливать что-то.

для меня главное отличие в редакторы, которые vim заставляет вас использовать среду / ОС, в то время как emacs пытается инкапсулировать ее или заменить. Например, вы можете добавить дату в текст: r!дата в vim, или календарь с: r!cal 1 2014, или даже заменить содержимое буфера на шестнадцатеричную версию содержимого. Например. :%!xxd, редактировать hex, а затем вернуться с:%!xxd-r, и еще много других польз, как builtin grep, sed, etc.

вы также получаете функциональность пакетного редактирования EX, например. Замена определенных слов, переформатирование код, преобразующий символы новой строки dos->unix, запускает макрос, скажем, 100 файлов за раз. Это легко сделать с бывшим. Я не уверен, что emacs имеет что-то подобное.

другими словами, IMHO vim приближается к философии unix. Это обычно проще и меньше, но если вы знаете, что ОС и ваши инструменты, вам, скорее всего, понадобится больше, чем он(VIM) может предложить. Я никогда этого не делаю.

кроме того, vi является стандартом defacto в любой системе unix / linux, зачем учиться использовать 2 инструмента, которые делают то же самое вещь. Конечно, некоторые системы предлагают mg или что-то подобное, но определенно не все из них. Unix + Vi

ну, только мои 5 пенсов.


для меня emacs имеет лучшие инструменты разработки (не только инструменты на основе тегов).


Я хотел бы привести здесь цитату из книги "Искусство программирования UNIX":

много людей которые регулярно используют и vi и Emacs клонят использовать их для разные вещи, и ценно знать и то, и другое.

В общем, vi лучше всего подходит для небольших заданий-быстрые ответы на почту, простые настройки конфигурации системы и тому подобное. Это особенно полезно когда вы используете новую систему (или удаленную по сети) и нет в Emacs файлы настройки удобны.

Emacs вступает в свои права для расширенных сеансов редактирования, в которых вы обрабатывать сложные задачи, изменять несколько файлов и использовать результаты из других программ во время сеанса. Для программистов, использующих X on их консоль (что типично для современных Униксов), это нормально запустите Emacs вскоре после входа в большое окно и оставьте его работает вечно, возможно, посещает десятки файлов и даже работает программы в нескольких Emacs подокна.

Что я действительно хочу выделить вот это: "многие люди считают ценным знать оба."


теперь вам даже не нужно думать о разнице между этими двумя из-за Spacemacs. Это общинный дистрибутив Emacs.

как он сказал,

лучший редактор-это ни Emacs, ни vim, это Emacs и Vim.

Spacemacs сочетает в себе лучшее из Emacs и Vim, что делает вашу жизнь и работу намного проще.

Он также имеет приличный логотип.

посмотреть скриншот ниже,

http://spacemacs.org/doc/img/spacemacs-python.png


преимущества Emacs

  • Emacs имеет как немодальный интерфейс (по умолчанию), так и модальный (например, он может эмулировать vim и vi через зло, гадюку или Vimpulse).

  • одна из самых портированных компьютерных программ. Он работает в текстовом режиме и под графическими пользовательскими интерфейсами на самых разных операционных системах, включая большинство Unix-подобных систем (Linux, различные BSDs, Solaris, AIX, IRIX, macOSetc.), MS-DOS, Microsoft Windows, AmigaOS и OpenVMS. Системы Unix, как бесплатные, так и проприетарные, часто предоставляют Emacs в комплекте с операционной системой.

  • архитектура сервера Emacs позволяет нескольким клиентам присоединяться к одному экземпляру Emacs и делиться списком буферов, кольцом убийства, историей отмены и другим состоянием.

  • всепроникающая система онлайн-справки с привязками клавиш, функциями и командами, задокументированными на лету.

  • расширяемый и настраиваемый Lisp вариант языка программирования (Emacs Lisp), с функциями, которые включают в себя:

  • мощный и расширяемый файловый менеджер (dired), интегрированный отладчик и большой набор средств разработки и других инструментов.

  • наличие каждой команды-функция Emacs Lisp позволяет командам DWIM (делать то, что я имею в виду) программно реагировать на прошлые действия и состояние документа. Например, команда switch-or-split-window может переключиться на другое окно, если существует или, если нужно, создает. Это сокращает количество нажатий клавиш и команд, которые пользователь должен запомнить.

  • "ОС внутри ОС". Emacs Lisp позволяет программировать Emacs далеко за пределами функций редактирования. Даже базовая установка содержит несколько десятков приложений, включая два веб-браузера, средства чтения новостей, несколько почтовых агентов, четыре IRC-клиента, версию ELIZA и множество игр. Все эти приложения доступны везде, где работает Emacs, с одним и тем же пользователем интерфейс и функциональность. Начиная с версии 24, Emacs включает в себя менеджер пакетов, что упрощает установку дополнительных приложений, включая альтернативные веб-браузеры, EMMS (мультимедийная система Emacs) и многое другое. Также доступны многочисленные пакеты для программирования, включая некоторые, предназначенные для определенных комбинаций языка / библиотеки или стилей кодирования.

преимущества VI-подобных редакторов

  • команды редактирования, composable
  • Vi имеет модальный интерфейс (который Emacs может эмулировать)
  • исторически vi загружается быстрее, чем Emacs.
  • хотя он глубоко связан с традицией UNIX, он работает на всех системах, которые могут реализовать стандартную библиотеку C, включая UNIX, Linux, AmigaOS, DOS, Windows, Mac, BeOS, OpenVMS, IRIX, AIX, HP-UX, BSD и POSIX-совместимые системы.
  • расширяемый и настраиваемый с помощью скрипта Vim или API для интерпретируемых языков, таких как Python, Ruby, Перл и Луа!--8-->
  • повсеместно. По существу, все Unix и Unix-подобные системы поставляются со встроенным vi (или вариантом). Vi (и ex, но не vim) указывается в стандарте POSIX.
  • среды спасения системы, встроенные системы (в частности, с busybox) и другие ограниченные среды часто включают vi, но не emacs.

источник:https://en.wikipedia.org/wiki/Editor_war


самой большой разницей для меня в выборе использования emacs над vim была встроенная поддержка gdb в emacs. Vim не включил это в дистрибутив по умолчанию, и проект для интеграции gdb и vim был почти невозможен для работы с MacVim


Emacs имеет viper-mode, поэтому в некотором реальном смысле он предоставляет суперсет функций (за исключением описанных в какие функции Vim отсутствуют в Emacs с Viper и Vimpulse?).

vi (и VIM IIRC) более легкий вес (он может редактировать файлы на месте), но предлагает меньше функций (подпроцесс связи, язык расширения).


желтушная точка зрения:

vi (не vim) является профессиональной необходимостью. У тебя всегда есть какая-то форма vi легко доступный, независимо от того, какая окружающая среда. Вы можете быть в vi когда в emacs вы можете быть в vi для создания команд bash в unix-land.

даже Microsquish должен поддерживать vi (хотя они делают хорошую работу скрытие) из-за Правительства и корпоративного соответствия опубликованным стандарты.

на мой взгляд, если вы находитесь в практической работе в занятая среда--нет тепличный цветок, прикованный к одному причудливому сооружению в развитии. окружающая среда,или в академических кругах-знать много о причудливом редакторе-это работа помеха. Не изучайте все причудливые трюки в vim или emacs и не разработайте кучу макросов, чтобы сделать среду редактирования сгибаться по вашей воле. Это огромный провал времени, который встает на вашем пути, когда вы обращаете внимание различные машины, которые вы, вероятно, не можете оправдать на заводе окружающая среда.

прочитайте статью Билла Джоя--это очень компетентный, возможно даже красивые, инженерные упражнения в редактировании обычного текста очень, очень быстрый. Правило Parito это применимо и здесь: 80% плода в 20% из корзин. Редактирования очень простой текстовый суть редактирование компетенции-все остальное не обязательно-и иногда вредно.


Это как яблоки и апельсины. Оба имеют различный дизайн и philosphy. Vim-это текстовый редактор, а Emacs-интерпретатор Lisp, который выполняет редактирование текста.

Я использую Vim, потому что его быстрый, гладкий и очень хорошо манипулирует текстами. Оно имеет composable естественную ключевую вязку которая может сделать ваши задачи развития действительно гармоничным. Vim основан на простой * nix-философии делать одну вещь действительно хорошо-я.E обработка текста.

расширение Vim с помощью bash / zsh и tmux, как правило, легко и позволяет узнать много вещей. IMHO это хорошая кривая обучения. Главное, чтобы узнать, как интегрировать эти вещи, чтобы получить большее рабочее приложение. С Vim вам нужно научиться интеграции, потому что она не интегрируется естественным образом, если вы не скажете ей, как это сделать. Еще одно стоящее расширение, которое я использую, - Tig . Его интерфейс Git на основе ncurses . У меня просто есть привязка, которая молча открывает Tig, а затем я делаю все Git вещи там.

его до конечному пользователю решать, что работает лучше всего. То, что Emacs и Vim выдержали испытание временем, является доказательством их ценности. В конце концов, хороший программист нуждается только в ручке и бумаге, чтобы быть творческим. Хорошие алгоритмы не нуждаются в редакторах. Так что попробуйте их оба и посмотрите, что делает вас более продуктивным. И узнать шаблоны проектирования из обоих этих программ, как есть много, чтобы узнать и обнаружить!


Emacs действительно больше делает все программа, а vi (m) - это просто редактор. Если вы редактируете текст, они оба в порядке, но я предпочитаю emacs, просто потому, что мне нужно переместить один из домашней строки, чтобы перемещаться, и продолжать вводить неправильные вещи в командном режиме. У вас нет этой проблемы, vi (m) может быть редактором для вас.


Если вы много перемещаетесь с сайта на сайт или ваша работа включает в себя вход в производственные системы, то vim-это путь.

все * nix машины будут иметь vi установлен по умолчанию.

большинство sysdamins предпочитают KSH в качестве оболочки по умолчанию. KSH использует нажатия клавиш vi (или emacs) для поиска истории и редактирования командной строки.

Если вы не знаете vi хорошо, вы сильно ограничены при входе в Unix-бокс со стандартом конфигуратор.

только по этой причине я бы рекомендовал vim как ваш обычный редактор каждый день. Я видел, как поклонники emacs рвут там волосы, пытаясь изменить конфигурационные файлы на сервере unix с голыми костями.


vim удобный Редактор, вы просто введите vim filename открыть файл, отредактировать, сохранить и закрыть.

в Emacs это "операционная система" притвориться редактором, вы можете eval код, чтобы изменить его поведение и расширить его, как вам нравится. А mode получать/отправлять электронную почту на Emacs-это как программное обеспечение электронной почты на операционной системе.

при простом редактировании, например, измените файл конфигурации, я использую vim.

в противном случае, Я никогда не ухожу в Emacs.


в вашем вопросе вы не упомянули, что хотите, чтобы он программировался в Lisp! Но поскольку вы комментировали свои ответы, я понял, что вы действительно хотите интерфейс программирования LISP.

для этой точной задачи просто забудьте о Vi. Интеграция Emacs с LISP замечательная! Вы должны использовать слизь. Тогда у вас будет прекрасная интеграция с REPL, будучи в состоянии eval функции, буферы или файлы непосредственно в работающий интерпретатор в буфере emacs и намного больше...


клавиши выполнение::: VI редактирование сохраняет каждую перестановку типизированных ключей. Это создает путь в дереве решений, который однозначно идентифицирует любую команду, в то время как команды Emacs представляют собой комбинацию типизированных ключей, выполняемых немедленно, что оставляет пользователю выбор, следует ли использовать команду.

использование памяти и настраиваемость::: vi-это меньшая и более быстрая программа с более ограниченными возможностями для настройки, в то время как Emacs требует больше времени для запуска и требует больше памяти. Тем не менее, он очень настраиваемый и включает в себя большое количество функций, поскольку это по существу среда выполнения для программы Lisp, предназначенной для редактирования текста.


Я думаю, что основное различие-это цель Дизайна. VIM для UNIX как рабочий редактор. Emacs предназначен для хакеров GNU и lisp, поэтому он имеет некоторый смешанный элемент дизайна.

Я использую vim на своей рабочей станции, в то время как я тоже люблю emacs.


Я поклонник Emacs, но призываю других разработчиков изучать VI, потому что:

  1. вы можете использовать VI для редактирования makefiles emacs.
  2. VI включает команды ed, и каждый пользователь UNIX должен знать ed и sed.

Я заметил несколько комментариев о запуске VIM быстрее, чем emacs. Если вы действительно заботитесь об этом, запустите emacs в режиме сервера и псевдоним "emacs" в "emacsclient". Клиент супер быстрый, так как все, что он делает, это нажмите на сервер на плече и скажите, какой файл вы хотите отредактировать. На MacOSX emacsclient составляет всего 33K, а emacs-287M.

Я не уверен, что это необходимо на современном оборудовании. На моем MacBook Pro (2013 Retina) emacs загружается почти мгновенно, когда я запускаю его из оболочки. Я не замечаю никакой паузы. Когда я запускаю Emacs.app (версия GUI) это может занять всего 3 секунды.

большинство жалоб, которые я слышу о emacs, похоже, исходят от людей, дезинформированных о emacs. Используя как vi, так и emacs с 1982 года я определенно помню время, когда emacs загружался намного медленнее, чем vi, и использовал большую часть физической памяти в моих ранних Unix-боксах, но это уже не так и не было по крайней мере 15-20 лет.

одна жалоба, которую я признаю, - это "emacs pinkie". Когда я был моложе, это меня совсем не беспокоило. Сейчас я 58, мой мизинец был немного болят от постоянного доступа к ключ управления для вокала в Emacs. Это особенно актуально на клавиатуре MacBook Pro, где Контроль перемещается на одну позицию вправо, чтобы освободить место для клавиши "Fn". Это не так раздражает, когда контроль является нижней левой клавишей.


во-первых Vi (оригинальная реализация) не используется сегодня. Что ты говоришь, какой вывод ВИМ.

чтобы расширить функциональность Vim, вы должны перекомпилировать Vim, Emacs нет.

Emacs имеет Vim в собственной личности (гадюка-режиме).

Emacs обычно требуется ручная установка, Vim обычно предустановлен на всех Unix, таких как OS (но если у вас есть ssh-доступ к host tramp-mode win Vim :).

Если вы попробуете Vim, вы ненавидите Emacs, поэтому сначала начните с Emacs.

Читайте также http://www.dina.dk / ~abraham/religion/vi-tutorial.html (ссылка идет вниз, поэтому используйте этой)

anwer поиск в hxxp: / / ru.Википедия.org/wiki / Editor_war