Emacs

Emacs проти Vim

Emacs проти Vim
Існувало безліч тем, на які вболівальники ділились своїми поглядами та сперечалися між собою проти тих, хто суперечить їх поглядам. Ці священні війни були скрізь: iPhone проти. Android, Marvel проти. DC, вкладки проти. пробіли тощо. Подібною дискусією, з якою користувачі, особливо користувачі Linux-спільноти, зазвичай нагріваються, була тема Emacs vs. Vim-дискусія, яка триває десятки років.

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

Що таке Emacs і Vim?

Vim - один із найстаріших текстових редакторів на основі UNIX. Цей текстовий редактор є еволюцією vi, текстовий редактор з перших днів UNIX. Vim швидко набув популярності після його введення, оскільки він не тільки мав майже всі функції vi, вбудовані в нього, але також додав деякі додаткові функції, які зробили його набагато потужнішим, ніж його попередник.

Принадність Vim виникає в тому, що він надзвичайно легкий і має інтерфейс з декількома режимами, кожен з різною, корисною метою. Завдяки таким функціям, як багаторівневе дерево відміни, величезна колекція плагінів, потужні інструменти для обробки тексту та підтримка десятків мов програмування, Vim міцний і видатний як текстовий редактор.

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

З коротким вступом про те, що закінчив кожен редактор, давайте тепер розглянемо деякі функції, які надають як Emacs, так і Vim.

1) Більше, ніж текстовий редактор

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

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

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

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

Веб-браузер:

Організаційний режим - Організатор:

Тетріс:

Як видно з наведених прикладів, редагування тексту - це лише один із аспектів серед десятка функцій, присутніх у Emacs.

2) Настроюваність

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

Emacs робить цей крок далі, використовуючи мову програмування lisp. Ви можете впровадити та перевизначити майже будь-що в Emacs, використовуючи lisp.

Наприклад, скажімо, що ви хочете визначити функцію, яка після запуску запускає Bing у веб-браузері. Це можна легко реалізувати в Emacs за допомогою lisp. Щоб додати цю функцію до Emacs, у файл ініціалізації Emcas потрібно додати наступні рядки коду (~ /.файл emacs):

(defun searcher ()
(інтерактивний)
(URL-адреса перегляду
"https: // www.bing.com / "))

Для тих, хто звик використовувати Vim, Emacs також надає користувачам пакети, які дозволяють їм досягати Vim-подібної поведінки всередині Emacs. Найвідоміший пакет - це режим Evil, який є надзвичайно потужним режимом Emacs, який повністю емулює vi, а також намагається розширити його, додавши більш сумісні та потужні функції.

3) Зручний інтерфейс

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

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

 4) Елісп проти Vim Script

Сценарій Elisp та vim - це мови програмування, визначені для Emacs та Vim, відповідно. Ці сценарії використовуються для написання функцій та плагінів для подальшого розширення можливостей редакторів. Порівнюючи ці дві мови поруч, Елісп розширює vim з великим відривом. Порівняно з Elisp, скрипт vim набагато складніший у налаштуванні і має дуже мало бібліотек для роботи. Однак Elisp стоїть у центрі Emacs і вважається досить потужним для реалізації будь-чого.

Чому Emacs кращий за Vim?

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

Навіть з урахуванням усіх цих функцій, Emacs дозволяє вам додатково налаштовувати його та додавати до нього функціональні можливості, що є прекрасним показником потужності та складності, що існує в основі Emacs. Будучи нескінченно розтяжним, Emacs стоїть на голову і плечі вище Віма.

How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...