Emacs

Emacs срещу Vim

Emacs срещу Vim
Има много теми, по които феновете споделят своите възгледи и спорят помежду си срещу онези, които се противопоставят на техните възгледи. Тези свещени войни са били навсякъде: iPhone срещу. Android, Marvel срещу. DC, табове срещу. интервали и др. Подобна дискусия, за която потребителите, особено тези от общността на Linux, са склонни да се нагряват, беше Emacs срещу. 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 е пълноценна машина за лис, интерфейс, който предлага множество инструменти на своите потребители и създава напълно отворен свят, където потребителите могат да бъдат онлайн 24/7 и да живеят вътре в програмата.

Например, за разлика от потребителите на Vim, които трябва да отворят терминала отделно, за да използват програмата, Emacs идва заедно със собствена вградена обвивка.

Потребителите на Emacs също имат достъп до функции като уеб браузър, водене на бележки и организиране на файлове, както и множество игри, като Tetris.

Уеб браузър:

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

Тетрис:

Както се вижда от горните примери, редактирането на текст е само един аспект сред дузината функции, присъстващи в Emacs.

2) Персонализиране

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

Emacs прави тази стъпка по-нататък, като използва езика за програмиране lisp. Можете да внедрите и предефинирате почти всичко в Emacs, като използвате lisp.

Например, да кажем, че искате да дефинирате функция, която след стартиране изпълнява Bing в уеб браузъра. Това може лесно да бъде приложено в Emacs с помощта на lisp. За да добавите тази функция към Emacs, трябва да добавите следните редове код към файла за инициализация на Emcas (~ /.emacs файл):

(defun търсачка ()
(интерактивен)
(браузър-url
"https: // www.bing.com / "))

За тези, които са свикнали да използват Vim, Emacs също предоставя на потребителите пакети, които им позволяват да постигнат подобно на Vim поведение вътре в Emacs. Най-известният пакет е Evil mode, който е изключително мощен Emacs режим, който напълно емулира vi и също така се опитва да го разшири, като добави по-съвместими и мощни функции.

3) Удобен за потребителя интерфейс

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

Emacs, от друга страна, изглежда по-достъпен за нови потребители, тъй като има немодален интерфейс и ключовите обвързващи елементи изглежда не са толкова чужди.

 4) Elisp срещу Vim Script

Elisp и vim script са програмните езици, дефинирани съответно за Emacs и Vim. Тези скриптове се използват за писане на функции и плъгини за допълнително разширяване на възможностите на редакторите. Когато сравнявате тези два езика един до друг, Elisp разпростира vim с голяма разлика. В сравнение с Elisp, vim скриптът е много по-труден за конфигуриране и има много малко библиотеки за работа. Elisp обаче стои в основата на Emacs и се смята за достатъчно мощен, за да приложи каквото и да било.

Защо Emacs е по-добър от Vim?

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

Дори и с всички тези налични функции, Emacs ви позволява допълнително да го персонализирате и да добавяте функционалности към него, което е чудесен показател за мощта и сложността, които съществуват в основата на Emacs. Като безкрайно разтегателен, Emacs стои на главата и раменете над Vim.

Как да заснемете и поточно предадете игралната си сесия на Linux
В миналото играта на игри се смяташе само за хоби, но с течение на времето игралната индустрия отбеляза огромен ръст по отношение на технологиите и бр...
Най-добрите игри за игра с ръчно проследяване
Oculus Quest наскоро представи страхотната идея за ръчно проследяване без контролери. С непрекъснато нарастващия брой игри и дейности, които изпълнява...
Как да покажете OSD наслагване в приложения на цял екран за Linux и игри
Играта на цял екран или използване на приложения в режим на цял екран без разсейване може да ви откъсне от съответната системна информация, видима в п...