Відмінності Emacs від Vim


685

Не вникаючи в релігійний аргумент про те, чому один кращий за іншого, які практичні відмінності між Emacs і Vim? Я хочу дізнатися те чи інше, але розумію, що крива навчання для кожного висока, і я не можу визначитися. Я ніколи не використовував редактор такого типу (я завжди використовував IDE), тому все, що допомагає новачку, є плюсом.


Перш ніж розпочнеться війна полум'я: я не запитую, що краще, я прошу різниці між ними. Я хотів би об'єктивного порівняння.


3
Якщо ви використовуєте Mac (OSX), ви побачите, що багато основних команд переміщення курсору emacs працюють майже скрізь. (Наприклад, вони працюють тут, де я набираю цей коментар на веб-сторінці.) Отже, для користувачів Mac існує загальносистемна користь для вивчення принаймні такого підмножини emacs: ^ A ^ B ^ D ^ E ^ F ^ K ^ L ^ N ^ O ^ P ^ T ^ V ^ Y
Метт

2
@JamesAnderson: на мій досвід, все навпаки. Використовували vim протягом 2,5 років, потім перейшли на emacs. Людей emacs здебільшого просто не хвилює ... "що для тебе працює". Ось що ,salespitchйдеться у #emacs<fsbot> We aren't gonna lie. Emacs sucks. Some of us tolerate it, but we can't tell you if YOU'LL be able to. Try it and make up your own mind.
Silex

2
Emacs, безумовно, чудова операційна система, але їй бракує лише гідного редактора.
технічна

1
@ JimmyM.G.Lim Ні, він використовує поточний пейджер у системі. Якщо ви запустите, PAGER=cat manлюдина виведе текст прямо на екран.
СС Енн

1
здогадуйтесь, що "в першу чергу на основі думки" поліції не існувало, коли про це вперше запитали ;-) ах, простіші часи ... одне, що я скажу, це те, що одного разу, читаючи книгу про emacs і випробовуючи її, я думав це була бомба. Через 3 тижні відпустки я виявив, що повністю забув усі її натискання на клавіші. vim, з іншого боку, насправді не моя річ, але я можу надійно функціонувати з нею, коли потрібно просто i, esc, wq.
JL

Відповіді:


491

(текст нижче - це моя думка, його не слід сприймати як факт чи образ)

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

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

Незважаючи на те, що я використовую Emacs цілий день щодня (і люблю це), якщо ви не збираєтесь витрачати багато часу на вибрану програму, я б вибрав vim


154
Wrt не має його в наявності: я пропоную розмістити ваші .emacs та .emacs.d в репо-контролі джерела, і тому отримання вашої ідеальної установки Emacs - це просто питання замовлення.
Duncan Bayne

7
І emacs, і vim можуть страждати від описаного вище: обидва можуть бути налаштовані до того, що вони не впізнавані в порівнянні з їхніми формами ванілі. Крім того, я другого використання vcs.
Олексій Магура

11
Над якими системами ви працюєте, @Radu? Я ніколи не бачив системи реального життя в 2010-х роках, яка була реальною, viа не vimчужою.
ELLIOTTCABLE

9
Можливо, Vim легше вчитися, ніж Emacs, але це надзвичайно заплутано при першому запуску, якщо у вас немає попереднього досвіду роботи з ним! Мені довелося скористатися google, щоб можна було його закрити, і все-таки довелося спробувати кілька разів, щоб виправити це.
HelloGoodbye

9
Ніколи не варто недооцінювати "попередньо встановлений" привілей VIM: він майже завжди доступний, куди б ви не поїхали, і його можна використовувати з невеликими / відсутніми налаштуваннями. Я використовую його весь час під час роботи sshз іншими машинами. Ось чому я дізнався це спочатку - це і тому, що мої друзі знали VIM і могли мені допомогти. (Не варто також недооцінювати підтримку друзів!)
jvriesem

137

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

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

Emacs був єдиним редактором двох програм, які можна програмувати, і хоча Vim має багато дивних рівнів своєї програмованості, з додаванням зв'язків Python і Ruby (і багато іншого, я забуваю), Vim також програмується в більшості способів ви б піклувалися про вас.

Я використовую Vim, і я досить задоволений цим.


6
Невелике оновлення: Vim підтримує кращу комунікацію з підпроцесами, оскільки версії 8.0 та 8.1 навіть запровадили термінальні буфери, тож вона трохи більше наближається до emacs.
DarkWiiPlayer

110

Vim:

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

Emacs:

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

Особисто я віддаю перевагу vim - він малий, робить те, що повинен робити, і коли я бажаю повністю роздутого IDE, відкриваю VS. Підхід Emacs бути редактором, який хоче бути IDE (або, як би сказати, ОС), але це не зовсім, IMHO, застарілий. У старі часи мати клієнт електронної пошти, FTP-клієнт, тетріс, ... те, що в одному пакеті (emacs) мало певний сенс ... в наші дні це вже не відбувається.

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


47
"краще як редактор" досить розпливчастий. Мені було б цікаво побачити причини.
Аллен

41
@Allen - Що в ньому неясного? Я рідко зустрічаю користувачів як vim, так і emacs, які мають проблеми з цим твердженням. Навіть користувачі хардкор emacs зазвичай сприймають це як факт. Ви використовували обидва редактори? Я вважаю, що відносно очевидно, що vim має перевагу в аспекті редагування тексту.
Грак

36
Мені не довіряє, що хтось сприйме це як факт. Як давно користувач як emacs, так і звичайний VI, я декілька разів використовував vim - але "краще як редактор" доводиться переходити до emacs, якщо не з іншої причини, ніж набагато ширший вибір основних та другорядних режимів щоб допомогти вам під час друку.
Kendall Helmstetter Gelner

61
Vim кращий як редактор, тому що для маніпулювання текстом потрібно менше руху ваших рук і пальців, ніж emacs, принаймні, це мій досвід.
StackedCrooked

7
Але цей бік, ефективно vim краще підходить для редагування: номери рядків, режим візуалізації, маніпуляція wint1.kaist.ac.kr/files/attach/images/59/450/… . FCOL, у мене виникли проблеми з отриманням emacs просто для прокрутки по одному рядку.
Грак

52

Якщо ви шукаєте об'єктивний аналіз обох редакторів, погляньте на їхнє походження та філософію, що лежить в основі їхніх дизайнів. Подумайте, хто з вас краще підійде, і вивчіть це (і вивчіть його та вивчіть це, адже для того, щоб виявити його справжню корисність проти будь-якого IDE, потрібен час, перш ніж ви виявите). Вступ до редагування дисплея за допомогою Vi написали Білл Джой та Марк Хортон, і він пояснює, чому він обирає модальний дизайн та обґрунтування різних клавішних ударів (це допомагає мені пам’ятати, що CTRL-W + W (перейде до наступного W indow і це буде те ж саме для CTRL W + CTRL W, на випадок, якщо ви тривалий час утримували клавішу CTRL.

Ось посилання на часову шкалу Emacs та посилається на папір Multics Emacs. Доповідь Hereis RMS на Emacs , де я бачу, що наголос на програмованому текстовому редакторі (навіть ще в 1981 році і раніше).

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

Редагувати: я забув зазначити, що для того, щоб прочитати обидва ці документи, потрібно терпіння та фантазія, оскільки це повертає тебе назад у часі під час його читання. Але це варто.


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

  2. Після цього іншою практичною відмінністю були режими Emacs. Вони значно полегшують ваше життя під час редагування XML, C / C ++ / Java / будь-чого, LaTeX та більшості популярних мов, про які ви можете придумати. Вони змушують вас тримати редактор відкритим для тривалих сесій та роботи.

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


1
Я не думаю, що режими полегшують життя, навпаки. І Ларрі Теслер думає те саме .
Еліран Малька

2
Як режими Emacs допомагають у кодуванні? (Я новачок у цьому ...)
jvriesem

4
Давно я перейшов з vi на emacs з чотирьох причин: (а) одним клацанням, щоб дістатись до наступної помилки компілятора, (b) інтеграції gdb, (c) grep та find-grep. Чи можна це робити в vim зараз?
zzz777

"Vim завжди запускався швидше, ніж Emacs" - якщо ви будете тримати сервер emacs, запускаючи emacs-клієнт, це дуже швидко. У мене є сценарії для цього, які я копіюю (використовуючи git) на всіх своїх машинах. (Насправді я також використовую vim; це завжди залежить від того, де я є, і яке це завдання)
Jay

"Vim запускався завжди швидше, ніж Emacs" - також, з use-packageта його :deferваріантом, мій Emacs відкривається майже відразу. Я навіть відмовився від використання emacsclient.
Джей

37

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

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

Чи варто вивчити можливості Emacs, порівняно з використанням редактора GUI / IDE та використання чогось на зразок python / awk / тощо для додаткових завдань.


2
Я знаю VI саме з цих причин - але в наші дні я б сказав, що навряд чи ви зіткнетесь із системою UNIX без принаймні базової установки EMACS, і це може зробити бідне середовище оболонки більш терпимим.
Kendall Helmstetter Gelner

3
Або заваріть зайнятий ящик в initrd і налагодите зламаний драйвер зберігання для завантажувального пристрою, так що на початку процесу init все, що у вас є, є початковим ram-диском, і все ж у вас ще є редактор - vi.
smcameron

2
Через деякий час з vi, ваші пальці знають рухи - але ви не можете згадати, що таке фактичні клавіші!
Мартін Бекетт

10
Я подумав, edщо це "завжди доступно і працюватиме в самому покаліченому, єдиному користувальницькому режимі, пошкодженій графіці, без клавішної карти, повільній машині зв'язку". Почекайте, який це рік? (Зітхніть - edя тебе ніколи не забуду.)
belacqua

2
@Kendall: Поточний Linux ubuntu не поставляється із встановленими програмами emacs.
інтуїтив

25

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


2
Це також мій досвід ... Emacs або uEmacs ніколи не були доступні. Першим моїм редактором був uEmacs (на Амізі), але, оскільки я дізнався vim, це було занадто зручно, щоб мати.
Маріус

Це в основному і мій досвід. Vi є скрізь і, як правило, встановлюється як $ EDITOR за замовчуванням на системах unix, тому ви повинні знати це, якщо ви працюєте з unix. Однак, я використовую emacs для редагування тексту щодня, і мені це подобається.
Фергі

14

Здається, відповідь вже обрана, але велика різниця для мене завжди була модальною та немодальною. Vim - модальний, що означає, що він робить оптимізацію на основі конкретного набору режимів використання. Принаймні, так я завжди на це дивився. Це робить використання Vim іншим досвідом, оскільки замість того, щоб мати робочу область, в яку вводиться код, ви дійсно говорите середовищу, щоб діяти над текстом. Ось чому люди говорять такі речі, як з Vim, ви справді вивчаєте мову. : Wq і: s / foo / bar - все це частина оболонки, як середовище, що редагує та читає текст.

З іншого боку, Emacs набагато ближче до більшості редакторів / текстових процесорів / тощо. ви бачите сьогодні. У вас є робоча область з високопрограмованим інтерфейсом. Ось чому ви бачите такі речі, як електронна пошта, irc, оболонки і т. Д. Як програмісту легко думати в терміні сказати "взяти номер рядка, на якому я вписуюсь, і зробити щось із інформацією". Бажання покинути редактор стає менше, тому що замість того, щоб виходити з роботи, відкривати якусь іншу програму / мову та робити речі над деяким текстом, у вас є Emacs, де ви можете це робити в межах свого редактора.

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


13

Я почав з vi, перейшов до emacs, потім до vim. Я думав спробувати Emacs, щоб побачити, що змінилося за останні п’ять років. (Говорячи про IDE, я на деякий час потрапив у затемнення, але віддаю перевагу своєму віконному терміналу, що з'єднує мак-скриньку з моїм (чоловічим) вікном Linux).

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

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

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

@mgb був правильним. Я був у чистому мінімальному Linux, щоб щось виправити лише місяць-два тому в дистрибутиві Debian. vi був єдиним доступним редактором.


1
Це все ще не виконано, але це набагато простіше, ніж коригування всіх налаштувань, які псують термінальні пасти. Використовуйте :set paste, а потім вставте текст і коли ви закінчите :set nopaste, повернетесь у звичайний режим Існує також :set pastetoggle=<F2>команда, яка буде перемикати це за допомогою вибраного комбінації клавіш.
hbar

В режимі відступу можна зробити ^R^P+вставлення з буфера обміну та зберегти поточний відступ. ^R^O+впаде відступ. ^R+вставить його так, ніби ви ввели його. :help i_^R^Pдля отримання додаткової інформації.
інтуїтив

3
Я не уявляю, як вирізати / вставити щось легше, ніж yyp. Крім того , дивіться тут , щоб вирізати і вставити в і з різних вікон stackoverflow.com/a/8757876/654789
PUK

@puk - Ctrl-k (yank) / Ctr-y (put) так само просто в emacs. У Emacs у вас також є декілька регістрів (az), ви можете зберегти текст або поточну позицію на ...
Kendall Helmstetter Gelner

3
vim також має декілька регістрів
TamaMcGlinn

12

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

Звичайно, використовуючи меню і подібне, вам не потрібно фактично вводити командний режим у Vim - спочатку. Але використовувати навіть крихітну частку сили Віма ви будете. Це лежить в основі дискусії про Vim / Emacs.

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

Мені цікаво, чому ви думаєте навчитися вивчати щось із цього в більш традиційному ІДЕ. Чого ви хочете навчитися одному з них?


8
Я просто хочу навчитися цьому, щоб побачити, чи відповідає це його галас, якщо чесно. Я бачив, наскільки вони обоє гнучкі, і я бачив, як експерти роблять у них досить шалені речі, і хочу побачити, чи варто цього кривої навчання. Крім того, мій IDE не підтримує Lisp. :)
Саша Чедигов

3
Хм. Проблема полягає в тому, що Emacs дуже багато ... але я все-таки залишаю IDE для використання emacs - це складні серії повторюваних завдань, які я автоматизую за допомогою макрозапису. Наприклад, ви можете взяти поточне слово або вираз, скопіювати його у "буфер" (думаю, вирізати / вставити лише у вас може бути більше одного), а потім перейти в інший файл, набрати частину тексту, частково використовуючи скопійоване значення, а потім інший раніше скопійовано також значення, просуньте курсор, збережіть позицію та поверніться до першого буфера знову ... потім повторіть процес для наступного рядка вихідного файлу.
Kendall Helmstetter Gelner

1
Я широко використовував макроси як у vi, так і в Emacs. Що вам не вистачає, це той факт, що Emacs має набагато більш широкий вибір методів доступу під час використання макросів, і той факт, що ви можете використовувати вирізані буфери скрізь - навіть посередині пошукових термінів, наприклад. Скажіть, будь ласка, як би ви написали макрос, який вибирав би одне слово вираження на основі регулярного вираження, взяв знайдений термін, шукав інший документ на цьому терміні, а потім робив заміни навколо нього?
Кендалл Гельмстеттер Гелнер

2
@ kendall-helmstetter-gelner - це можливо з vimscript, або мови vim мають прив'язки (наприклад, ruby ​​/ vim / tcl / perl). У вас є доступ до всіх функцій vim та редакторів буферів з мов скриптів.
segy

1
Це вражає, але для того, щоб зробити те саме в Emacs, потрібно лише використовувати натискання клавіш, які я вже знаю, щоб сформувати складний макрос, а не писати його вручну. Кожному, хто знає emacs, легко зробити макрос, який виконує це завдання, але я б сказав, що не так багато користувачів VI, які могли б сконструювати макрос, який ви виклали, без достатньої кількості досліджень.
Kendall Helmstetter Gelner

11

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

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

Для мене головна відмінність редакторів у тому, що vim змушує вас використовувати середовище / ОС, а emacs намагається інкапсулювати його або замінити. Наприклад, ви можете додати дату в текст у текст: r! Date in vim, або календар з: r! Cal 1 2014, або навіть замінити вміст буфера на шестигранну версію вмісту. Напр. :%! xxd, відредагуйте hex, а потім поверніться за допомогою:%! xxd -r та багатьох інших застосувань, таких як вбудований grep, sed тощо.

Інший приклад - використання з jqі gron. Напр. вставте json blob в редактор і запустіть для перетворення:

:r!curl -s http://interesting/api/v1/get/stuff
:%!gron | grep 'interesting' | gron -u

АБО

:%!jq .path.to.stuff

Кожну з перекладених вище команд можна виконати окремо через :%!<command>, де %означає весь документ, але також можна виконати на виділенні, виділених рядках тощо. Тут gron outputможе використовуватися як jqшлях.

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

Іншими словами, IMHO vim наближається до філософії Unix. Це, як правило, простіше і менше, але якщо ви знаєте свою ОС та свої інструменти, вам, швидше за все, не знадобиться більше (ніж VIM). Я ніколи цього не роблю.

Окрім того, що vi є стандартом defacto для будь-якої системи unix / linux, навіщо вчитися використовувати 2 інструменти, які роблять те саме. Звичайно, деякі системи пропонують мг або щось подібне, але, безумовно, не всі. Unix + Vi <3.

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


8
"Вім наближається до філософії Unix". - Ви говорите тут про філософію щодо інструментів, доступних у вашій оболонці. Однак сама оболонка - це велика агломерація вбудованих модулів, історії, глобалізації, керування процесами, програмованості тощо. Emacs явно наближається до філософії оболонок Unix: забезпечте високо настроюване середовище, в якому інструменти можна використовувати разом, і полегшити користувачеві розширення набору інструментів за допомогою власних фрагментів коду під час їх роботи. Я думаю, ми можемо побачити, що і emacs, і vim сильно вкорінені в традиції Unix.
Метт

1
Дякуємо за ваш коментар Тут я аж ніяк не мав наміру розпочати війну редакторів, а також не ображати користувачів emacs . Мені просто простіше і портативніше викликати фактичні команди з оболонки (або з редактора) на відміну від написання складних розширень, щоб інкапсулювати функціонал у emacs , який, як правило, змушує оточуюче середовище з часом роздуватися. Однак ці розширення залежать від уподобань користувача, і їх можна зробити, але жодним із редакторів жодним чином не застосовувати їх. Тож погоджуємось з вами щодо місця emacs та vi (m) у традиції UNIX.
Alex Alex

1
Просто для продовження невоєнного, я сподіваюся, було зрозуміло, що я не погоджувався з вашою аналогією "vim - це більше як інструмент unix". Мені просто прийшло в голову, що ця інтуїція може бути розширена на "і emacs більше схожа на оболонку unix". :-)
Matt

@Matt: Мені подобається аналогія. Амін тому. ;)
Олексій

2
Ви можете робити все, що ви згадуєте, та багато іншого, у emacs (наприклад, у hexl-режимі йде правильне редагування файлу в hex з попереднім переглядом ascii в бік). Я також дуже добре знаю VI, але створювати макроси набагато простіше і гнучкіше в Emacs, і це може просто зробити набагато більше, ніж навіть більшість сучасних реалізацій VIM. Це причина цього знати, адже emacs є в більшості місць і може запропонувати справжній приріст редагування тексту.
Kendall Helmstetter Gelner

10

Для мене плюси emacs є,

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

11
FWIW: vim в значній мірі має перші 3 (хоча з різними назвами. "Tramp-mode" - "netrw" in vim). №4, як правило, вважається помилкою, а не функцією користувачів vim. # 5 є правдою в vim, якщо ви заміните "elisp" (найгірший діалект lisp коли-небудь, кажуть мої друзі, що люблять Emacs) на python / mzscheme / perl / ruby ​​/ tcl / vimscript.
Лоранс Гонсалвс

3
Ви можете прокоментувати, чому помилка №4?
Hamza Yerlikaya

2
Ознайомтеся з добавкою Conque на вбудовану оболонку vim.
інтуїтив

9

Для мене, Emacs має кращі інструменти розробки (не лише інструменти на основі тегів).


9

Я хотів би поставити тут цитату з книги "Мистецтво програмування UNIX":

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

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

Emacs є власною для розширених сеансів редагування, в яких вам доведеться обробляти складні завдання, змінювати кілька файлів та використовувати результати інших програм під час сеансу. Для програмістів, що використовують X на своїй консолі (що характерно для сучасних Unixes), нормально запускати Emacs невдовзі після часу входу у велике вікно і залишати його завжди працювати, можливо, відвідуючи десятки файлів і навіть запускаючи програми в декількох підпрограмах Emacs.

Я дуже хочу тут виділити: « Багатьом людям цінним є те, що знати обоє ».


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

Чудова новина: це не застаріло! Ви можете використовувати браузер, музичний плеєр тощо за межами Emacs, але те, що Emacs дійсно приносить, це такий же хороший інтерфейс для всіх цих функцій і один спосіб (Elisp) для їх розширення.
Андрій Тихонов

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

Це не застаріло! :)
Андрій Тихонов

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

9

Переваги Emacs

  • Emacs має як немодальний інтерфейс (за замовчуванням), так і модальний (наприклад, він може імітувати vim та vi через Evil, Viper або Vimpulse).

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

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

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

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

  • Потужний та розширюваний файловий менеджер (дірінг), інтегрований налагоджувач та великий набір розробок та інших інструментів.

  • Наявність кожної команди є функцією Emacs Lisp дозволяє командам DWIM (робити те, що я маю на увазі) шляхом програмного реагування на минулі дії та стан документа. Наприклад, команда перемикання або розділення вікна може переключитися на інше вікно, якщо воно існує, або створити його, якщо потрібно. Це зменшує кількість натискань клавіш і команд, які користувач повинен запам'ятати.

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

Переваги vi-подібних редакторів

  • Команди редагування є композиційними
  • Vi має модальний інтерфейс (який Emacs може імітувати)
  • Історично ви завантажуєтесь швидше, ніж Emacs.
  • Хоча він глибоко пов'язаний з традицією UNIX, він працює у всіх системах, які можуть реалізувати стандартну бібліотеку C, включаючи UNIX, Linux, AmigaOS, DOS, Windows, Mac, BeOS, OpenVMS, IRIX, AIX, HP-UX, BSD та POSIX-сумісність систем.
  • Розширюється та налаштовується через скрипт Vim або API для інтерпретованих мов, таких як Python, Ruby, Perl та Lua
  • Всюдисущий. По суті всі Unix та Unix-подібні системи оснащені вбудованою системою vi (або варіант). Vi (і колишній, але не vim) визначений у стандарті POSIX.
  • Системні рятувальні середовища, вбудовані системи (особливо ті, у кого зайнято) та інші обмежені середовища часто включають vi, але не emacs.

Джерело: https://en.wikipedia.org/wiki/Editor_war


7

Тепер вам навіть не потрібно думати про різницю між цими двома через Spacemacs . Це розподіл Emacs, керований громадою.

Як було сказано,

Найкращий редактор не є ні Emacs, ні vim, це Emacs і Vim.

Spacemacs поєднує в собі найкраще як від Emacs, так і від Vim, що значно полегшує ваше життя та роботу.

Дивіться знімок екрана нижче


(джерело: spacemacs.org )


3
Це обман ... Це emacs з деякими прикольними конфігураціями;) Насправді дуже багато конфігурацій
Алекс

2
Це чудово - коли це працює. Коли цього немає - якщо ви вже не знаєте elisp і emacs або не можете знайти основних учасників у чаті з гіркішими - ви зазвичай застрягли і не пощастило. (іноді видаляючи свій каталог melpa в .emacs, можна виправити речі, хоча ...)
Аарон Холл

1
Хоча в ньому набагато більше речей, ніж мені потрібно, я дуже задоволений Spacemacs. У мене є дотфіли на github, щоб я міг легко / швидко налаштувати нові машини, і оскільки я використовую зло (vim keybindings), я маю достатньо навичок, щоб обходитися, коли мені доводиться працювати на машинах, де я не можу встановити конфігурацію spacemacs.
anr78

6

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


1
Я використовував Vim для редагування, а Xcode для налагодження - це менш ніж ідеально, але можливо.
StackedCrooked

4

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

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

Розширення Vim за допомогою bash / zsh та tmux зазвичай є простим і дає змогу дізнатися багато речей. ІМХО, це хороша крива навчання. Головне - навчитися інтегрувати ці речі, щоб отримати більшу робочу програму. З Vim вам потрібно буде навчитися інтеграції, оскільки вона, природно, не інтегрується, якщо ви не скажете, як це зробити. Ще одне варте розширення, яке я використовую - Tig. Це основана на Git фронтенд. У мене просто є палітурка, яка мовчки відкриває Tig і тоді я роблю всі речі Git там.

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


4

У Emacs є режим viper, тож у деякому реальному сенсі він надає набір функцій (за винятком тих, що описані в Які функції Vim відсутні в Emacs з Viper та Vimpulse? ).

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


3

Emacs насправді більше програма «робити все », а vi (m) - це просто редактор. Якщо ви редагуєте текст, вони обидва чудово, але я віддаю перевагу emacs, просто тому, що мені потрібно зрушити один з домашнього рядка, щоб рухатись, і продовжувати вводити неправильні речі в командному режимі. У вас немає такої проблеми, vi (m) може бути редактором для вас.


2

Жовтянична точка зору:

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

Навіть Microsquish має підтримувати vi (хоча вони добре приховують це) через уряд та корпоративне дотримання опублікованих стандартів.

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

Читайте статті Білла Джоя - це дуже грамотна, можливо, навіть гарна, інженерна вправа редагування простого тексту дуже, дуже швидко. Тут діє правило Паріто: 80% фруктів припадає на 20% кошиків. Дуже швидке редагування простого тексту - це суть компетенції редагування - все інше є необов'язковим - а іноді й шкідливим.


3
Про який документ ви говорите? Ви можете хоча б дати ім’я, якщо не посилання?
темна кота

2
"Навіть МС має підтримувати vi." Чи можете ви це зробити назад?
dodgethesteamroller

1

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

На всіх * nix машинах встановлено vi за замовчуванням.

Більшість sysdamins віддають перевагу ksh як оболонці за замовчуванням. ksh використовує команду vi (або emacs) для натискання клавіш для пошуку історії та редагування командного рядка.

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

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


1
Для bash спробуйте використовувати set -o viв своєму .bashrc, замість того set -o emacs, що використовується за замовчуванням. Я ніколи не використовував ksh, але це може бути те саме.
sjas

1

У своєму запитанні ви не згадали, що хочете програмувати в Ліспі! Але коли ви коментували свої відповіді, я зрозумів, що ви насправді хочете інтерфейсу програмування LISP.

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


1
Так, я знаю це, але мені шукати гідного редактора Lisp не було моєї причини задавати це питання - це був лише приклад. Дякую за відповідь, хоча!
Саша Чедигов

1

Я працював з Spacemacs близько 2 років і неовім вже близько року у виробничому / дослідницькому середовищі. Spacemacs - це emacs з парою приємних додаткових функцій, таких як шари тощо.

Я досить незадоволений обома з точки зору досвіду. І я все ще шукаю довгострокове рішення для моїх потреб в редагуванні тексту.

Ось просте порівняння:

  • Neovim, vim, emacs, spacemacs тощо всі ці редактори споживають менше ресурсів порівняно з більшістю редакторів там.

  • Neovim / vim трохи швидше, ніж emacs, помітно швидше, ніж Spacemacs.

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

  • Vimscript приємний, і в екосистемі vim, безумовно, є і чудові проекти. Хороша річ, що вони краще задокументовані, ніж більшість проектів emacs, які я бачив досі.

  • Обидва можуть бути глюкозними залежно від пакету, який ви використовуєте. Spacemacs мають тенденцію до замерзання, а neovim прагнуть відображати страхітливі повідомлення про помилки, тому виберіть туди свою отруту.

  • Модальне редагування vim - це не інтуїтивно зрозуміла концепція, але, коли ви звикнете до неї, ви хочете, щоб вона була будь-якою. Обидва редактора цього передбачають.


1
"Модальне редагування (...) після того, як ви звикнете до нього, ви хочете, щоб воно все було" - це цікаво. Я витрачав роки, використовуючи Emacs із злим режимом, звик до модального редагування, а тепер повернувся до немодального ... Просто почувається краще. Я думаю, що це залежить не тільки від людини, але і від контексту / часу в житті / будь-якого іншого. Смак, я гадаю. :)
Джей

1
@ Джей, мабуть, але ви не сумуєте, такі речі, як вибір стовпців і стрибки навколо ": XX"?
Каан Е.

Насправді ... Я іноді використовую вибір прямокутника Emacs, а замість: xx роблю "Mg g XX" - ще кілька натискань клавіш, але мені рідко потрібно йти праворуч до рядка. Зазвичай програма Emacs (налагоджувач тощо) надішле мене в потрібний рядок.
Джей

0

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

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


0

vim - зручний редактор, ти простого типуvim filename файл, редагуєте, зберігаєте та закриваєте.

emacs - це "операційна система", яка претендує на редактор, ви можете evalкодувати, щоб змінити її поведінку, і розширити її як завгодно. АmodeОтримати / відправити по електронній пошті на Emacs схожа на програмне забезпечення електронної пошти в операційній системі.

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

Інакше я ніколи не залишаю emacs .


0

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

Я використовую vim на своїй робочій станції, тоді як я теж люблю emacs.


0

Я фанат Emacs, але закликаю інших розробників вивчати VI, оскільки:

  1. ви можете використовувати VI для редагування файлів emacs.
  2. VI включає команди ed, і кожен користувач UNIX повинен знати ed та sed.

Я помітив кілька коментарів про те, що VIM починається швидше, ніж emacs. Якщо вам це дуже важливо, запустіть emacs в режимі сервера, а псевдонім "emacs" - на "emacsclient". Клієнт дуже швидкий, оскільки все, що він робить, це натиснути сервер по плечу і сказати йому, який файл ви бажаєте редагувати. У MacOSX emacsclient становить лише 33 К, а emacs - 287 Мб.

Я не впевнений, що щось із сучасного обладнання необхідне. На моєму 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". Це не так вже й прикро, коли "Контроль" - це нижня ліва клавіша.


Ви також можете "скинути" emacs, що в основному означає зробити знімок компільованих розширень elisp, які ви хочете. Таким чином Emacs починає набагато швидше, але потрібно визначити, які розширення потрібно включити.
Філ Харбісон

Крім того, ви можете грати в "Towers Of Hanoi" в емаках. Наскільки це круто? :)
Філ Харбісон

Re: "emacs pinkie". На деяких старих клавіатурах, наприклад, Sun Type 3/4, на якій заснований HHKB Professional, елемент керування розміщується там, де зазвичай знаходиться Caps Lock. Я не маю досвіду emacs, який у вас є, однак я дуже швидко звик до контролю над домашнім рядом. Настільки, що я змінив всі мої клавіатури (також MacBook Pro). HHKB має деякі подальші вдосконалення, наприклад, Backspace трохи вище Enter, та Esc поруч із 1.
martinweiss

@PhilHarbison міг би детально розробити "смітник"?
A_P

0

Спочатку я був користувачем vim, потім перейшов на emacs, потім на vim, зараз я знову експериментую з emacs.

  • Обидва чудові редактори.
  • Обидва сьогодні дуже розширювані
  • Обидва мають чудові плагіни та спільноту

Як розробники ми багато вводимо, і, нарешті, для мене переміщення в буферах та файлах - це найбільша задача, що повторюється, тому я хочу редактор, де я МОЖУ ШВИДКО БУТИ!

Мотивація експериментувати з emacs знову полягає в тому, що я впав, Ctrl привів клавіші швидше, ніж vim, і простіше міркувати.

У vim у вас є режими, у вас є режим вставки, режим візуалізації, звичайний режим, те, що відбувається, коли ви натискаєте щось, залежить від режиму, який ви є, є важливим підходом до редагування. Ви рухаєтесь, входите в режим вставки, редагуєте, виходите з режиму вставки та рухаєтесь знову. Я часто втрачаю себе, якщо пропускаю ESC-прес або щось подібне.

У emacs немає режиму, в основному ви натискаєте клавішу Ctrl рожевим кольором і набираєте натискання клавіш, наприклад Cx Cf, Cx Cs, Cx Cc. Є зв’язки клавіш, де потрібно випустити клавішу ctrl, я ненавиджу ці і завжди замінюю їх на ті, які натиснуті на керування.

Я думаю, що підхід до emacs швидше думати і вводити, але vim має ще одну силу. Її команди є композиційними, вони зазвичай мають формат. Наприклад, для видалення рядка, який ви можете використовувати dd, для видалення слова dw. Плагіни використовують це рубання, за допомогою плагіну vim-surround ви можете видалити лапки з ds "(видалити об'ємне"), видалити до наступного / dt/. Видалити до попереднього /: dT/тощо. Тож поки ви дізнаєтесь, що рухаються речі починають ставати дуже цікавими.

Підводячи підсумки, сьогодні я зауважив, що прив'язки клавіш emacs швидше для редагування макросів, а команди vim - більш потужні для мікроредагування

Я використовую vim протягом останніх п'яти років, тому я редагую думки переважно про слова, рядки, оточення, блоки тощо. Видаліть цей рядок, видаліть лапки, замініть лапки, видаліть слово в курсорі, я намагаюся знайти емаки рухається для цього

В кінцевій цитаті я б сказав, що я більше дбаю про fzf, ніж про emacs або vim, я хотів би мати редактор, заснований повністю на fzf


-9

По-перше, Vi (оригінальна реалізація) не використовується сьогодні. Те, що ви говорите, є деяким виведенням Vim.

Щоб розширити функціонал Vim, потрібно перекомпілювати Vim, Emacs не.

Emacs має Vim у самому собі (режим viper).

Зазвичай Emacs потребує встановлення вручну, Vim, як правило, попередньо встановлюється на всіх Unix, таких як ОС (але якщо у вас є ssh доступ до хост-режиму в режимі волоцюги, виграйте Vim :).

Якщо ви спробуєте Vim, ви ненавидите Emacs, то почніть спочатку з Emacs.

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

Попередній пошук у hxxp: //en.wikipedia.org/wiki/Editor_war


8
Не потрібно перекомпілювати vim, щоб продовжити його. Вам навіть не потрібно кидати vim.
занадто багато php

1
Чи має доступ vimscript / Python / Ruby / тощо до всіх внутрішніх структур Vim? Якщо кодова база редактора допоможе зробити розширення або складність розширення на одному рівні складності EDITOR?
gavenkoa

1
Значна частина сценаріїв Vim схожа на інтелектуальні MACROS. Щоб продовжити Vim, вам потрібні плагіни ((
gavenkoa

1
Vi не використовується?!?! Що? Чи вважається nvi оригінальною? Або "традиційне vi"? Дуже багато таких систем, як FreeBSD, ArchLinix поєднують традиційні vi або nvi, і я вдячний за це. Деякі системи, такі як Debian, переходять з vim, який за замовчуванням знаходиться у сумісному режимі (майже як традиційний vi)
Alex

1
@gavenkoa, я абсолютно погоджуюся з Alex, ви, очевидно, ніколи не пробували систему, яка вимагає встановлення вручну, як-от Gentoo, деякі BSD або Arch Linux. Крім того, «Якщо ви намагаєтеся Vim, ви ненавидите Emacs, то почніть спочатку з Emacs». змусив би мене спробувати спершу VIM, і ти, якби трохи подумати. Це нагадує мені людям, які говорять не спробувати функціональне програмування спочатку. Мені сумно, що я не пробував цього раніше ...
JMCF125
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.