К основному контенту

Vim vs Emacs Что лучше?

Vim и Emacs - два текстовых редактора для профессионалов Linux. Обе программы имеют особый синтаксис управления, специальные горячие клавиши и команды, но какой же из них лучше? С этим вопросом мы и попробуем разобраться в этой статье Emacs vs Vim. Поехали!

Содержание статьи: Скорость запуска Раздутость Производительность Доступность Сложность обучения Настраиваемость Больше чем редактор Среда разработки IDE Другие особенности Многобайтовые символы Расширяемость Графический интерфейс Буферные вкладки Лицензия Обзор различий Emacs Vim Скорость запуска



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

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

Что касается планшетов, то там, Vim загружается даже дольше чем Emacs (vim -u /dev/null vs. emacs -q) Раздутость



Когда-то Emacs потреблял восемь мегабайт оперативной памяти и постоянно лез в подкачку. Сейчас же популярный браузер Google Chrome потребляет столько памяти для одной вкладки, сколько Emacs необходимо для открытия сотни файлов. И даже не будем упоминать Firefox. Прожорливость Emacs в двадцать первом веке это тоже миф.

Функциональность - это тоже не проблема. Если вы его используете, то должны знать что ее предостаточно. Возможности Emacs находятся в стороне, когда вы ими не пользуетесь, а документация поможет вам во всем разобраться. Производительность



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

В этом плане Emacs, скорее всего, выиграет, если у вас нет проблем с набором текста. В Emacs вы можете настроить последовательности нажатий клавиш, например Ctrl + буква. Зато в Vim есть переключение режимов работы. Но вряд ли есть то, что Vim может сделать эффективнее чем Emacs, но в то же время верно и обратное. В этом сравнении, можно сказать, что редакторы равноценны. Доступность

Если вы системный администратор и работаете с системами Unix, или пользователь встраиваемых устройств, таких как маршрутизаторы, смартфоны и т д, вы, скорее всего, знаете Vi, так как он доступен для большинства систем, будь то встроенный компьютер, сервер или любое другое устройство. Но для обычного пользователя это не имеет большого значения. Emacs доступен для большинства операционных систем настольных компьютеров и серверов, а поскольку здесь поддерживается удаленное редактирование, достаточно просто иметь его на своем компьютере. Сложность обучения



На самом деле, это зависит от человека. У Vim действительно крутая кривая обучения, но ее можно немного уменьшить с помощью Gvim. На самом деле Vim не такой уж трудный для использования, немного тренировок и вы привыкните и будете чувствовать себя естественно в этом редакторе.

Emacs же имеет огромное количество расширений и позволяет выполнять задачи, которые лишь отдаленно связаны с текстовыми редакторами. Это, например, просмотр файловой системы, контроль версий файлов, чтение RSS каналов и так далее.

Если вы хотите полноценную среду, а не просто редактор - Emacs будет лучше чем Vim.

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



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

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

Vim - это всего лишь редактор. Emacs - не только редактор, ко всему прочему это IDE, файловый менеджер, эмулятор терминала, веб-браузер, почтовый клиент, клиент новостей и много чего еще. Хорошо это, или плохо - спорный вопрос. Но вы можете использовать Emacs в качестве простого редактора, без наворотов. Среда разработки IDE



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

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

Многобайтовые символы

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

Расширяемость

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

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

Расширяемость - это главная фишка Emacs, он был написан на интерпретируемом языке программирования, а поэтому вы можете изменять даже работающий экземпляр программы и изменения будут применены, если они синтаксически правильны. Поэтому Emacs может быть расширен на лету простым редактированием кода или загрузкой Elisp файлов. Изменения могут быть собраны в группы, и настраиваться для автоматического использования для определенных типов файлов. Такие настройки называются режимами. Например, режим Ruby или режим Rails. Они могут полностью изменить поведение Emacs, раскрасить текст, добавить форматирование и т д.

Графический интерфейс

У обоих редакторов, будь то Emacs или Vim есть графический интерфейс. Графический интерфейс обеспечивает меню для обоих приложений. Но практически все пункты меню это альтернативный способ использования команд или комбинаций клавиш. Там нет ничего, что не может быть сделано с помощью прямых команд.

Emacs использует XDisplay и GTK2 для реализации графического интерфейса. Vim может применять множество других графических библиотек, таких как GTK, GTK2, Gnome, Gnome2, motif, athena, neXtaw, photon, carbon.

Следует отметить, что Emacs может рисовать различную графику и шрифты, а шрифт для Vim может быть только один и только фиксированной ширины.

Буферные вкладки

Оба Emacs vs Vim поддерживают буфера вкладок как в CLI, так и в графическом интерфейсе. Кроме того, Vim в доступен на большинстве серверов, в отличие от Emacs.

Лицензия

GNU Emacs распространяется под лицензией GNU GPL, и гораздо чаще ассоциируется с операционной системой GNU LInux, учитывая тот факт, что он является частью проекта GNU. Vim распространяется под лицензией  charityware, хотя сам автор утверждает, что она совместима с GPL. Vim был изначально основан на Vi, разработанным Билом Джойем. Он используется многими пользователями Linux, поэтому может считаться родным для BSD, и других *nix систем. Обзор различий

Emacs

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

Плюсы: Расширяемый, более мощный, чем любой другой редактор, интегрируется с большинством инструментов для разработки открытого ПО

Минусы: Сомнительная эргономика, Elisp не так просто изучить

Vim

Этот редактор можно использовать как в Linux, так и в Windows-системах. Здесь есть отличное средство для создания макросов, чтобы автоматизировать операции редактирования. Сценарии Vim не настолько сложны как Elisp, но в то же время вы можете писать их на Python, Tcl, Perl и других языках. Vim занимает меньше места, чем Emacs В Vim отличная онлайн-документация В Vim используется очень интересная концепция пользовательского интерфейса, с командным и текстовым режимом.

Плюсы: Удобные макросы, расширяемость, стандартный во многих дистрибутивах, лучшая эргономика

Минусы: интерфейс непривычный для пользователей Windows.

Источник: /www.unixmen.com

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…