Vim vs emacs. Що краще?

Vim і Emacs - два текстових редактора для професіоналів Linux. Обидві програми мають особливий синтаксис управління, спеціальні гарячі клавіші і команди, але який же з них краще? З цим питанням ми і спробуємо розібратися в цій статті Emacs vs 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.

Відео: Which Text Editor Should You Choose?

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

настроюваність

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

Emacs явно перемагає, якщо ви хочете зробити те, що автори явно не придумали.

Більше ніж редактор

Vim - це всього лише редактор. Emacs - не тільки редактор, до всього іншого це IDE, файловий менеджер, емулятор терміналу, веб-браузер, поштовий клієнт, клієнт новин і багато чого ще. Добре це, чи погано - спірне питання. Але ви можете використовувати Emacs в якості простого редактора, без наворотів.

Середовище розробки IDE




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

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

інші особливості

багатобайтові символи

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

Відео: Порівняння Emacs, Vim, IDE. Мій досвід

Можливість розширення

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 не так просто вивчити

Відео: Why not use emacs instead of vi as the default editor for Ubuntu

Vim

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

плюси: Зручні макроси, розширюваність, стандартний в багатьох дистрибутивах, краща ергономіка

мінуси: інтерфейс незвичний для користувачів Windows.

Поділися в соціальних мережах:

Схожі
Як дізнатися pid скриптаЯк дізнатися pid скрипта
Аналоги notepad ++ для linuxАналоги notepad ++ для linux
Реліз gnu emacs 25.1Реліз gnu emacs 25.1
Як вбити процес linuxЯк вбити процес linux
Як прискорити linuxЯк прискорити linux
Копіювання файлів scpКопіювання файлів scp
Кращі консольні ігри linuxКращі консольні ігри linux
Команди терміналу linuxКоманди терміналу linux
Огляд qubes osОгляд qubes os
Управління процесами в linuxУправління процесами в linux
» » Vim vs emacs. Що краще?