Що таке Neovim? Чим він відрізняється від Vim? І чому я повинен дбати?


118

Я чув про Неовима ; чим він відрізняється від Vim? Усі пункти на домашній сторінці - це лише архітектурні зміни "під капотом". Як користувач, яка для мене різниця?


1
Асинхронна особливість - це збереження життя. Це робить vim набагато більш рідким, і багато плагінів можуть скористатися ним.
tommyip

Репетитор удосконалюється. Це виглядає інакше.
Фернандо Родрігес

"Приємний на вигляд веб-сайт. Це одне, що Неовім зробив правильно" - Брем Муленаар з інтерв'ю
Майкл

Деякі основні варіанти виглядають дивними і не мають значення для основних цілей ... Багато з них відчуває себе тим, хто не любить старий код і хоче зробити це "правильно". Я можу погодитись, що старий код некрасивий. Але для здійснення нової реалізації знадобиться дуже багато зусиль. Це дуже схоже на те, що сталося з Елвісом: переписування збиралося зробити його набагато кращим, але пройшло так багато часу, протягом якого Vim додав більше функцій, що врешті-решт не так багато користувачів Elvis. І переписаний Елвіс може мати гарний код, але користувачі цього не помічають. binpress.com/vim-creator-bram-moolenaar-interview
NeilG

Я сподіваюся, що приємні речі, які NeoVim придумує, можуть бути додані до Vim. Я маю на увазі, хто не хоче кращої підтримки плагінів, кращого графічного інтерфейсу та вбудовування? Велике питання - як це зробити, і хто буде правильно їх виконувати. binpress.com/vim-creator-bram-moolenaar-interview
NeilG

Відповіді:


81

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

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

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

Як користувач vim, багато чого не може змінитись, крім того, що neovim повинен зростати як програмне забезпечення набагато швидше (виправляти проблеми, додавати функції) порівняно з фондовим vim та що він матиме набагато кращі показники в довгостроковій перспективі.


24
+1. Додам, що факт, що зміни, видимі користувачеві, буде дуже мало - це добре.
carlosdc

27
Це сказано як повторне прес-реліз, а не фактичне просідання того, чому хтось повинен піклуватися. Наприклад, я використовую vim протягом двох десятиліть і не можу пригадати, коли останній раз основна програма виявляла мені будь-яку нестабільність, тому чому я повинен дбати про "більш стабільну"?
Калеб

2
Асинхронні завдання не повинні означати більше блокування інтерфейсу vim для виконання роботи, яка може бути у фоновому режимі.
alxndr

3
Чи є якісь докази за два роки, що цей неовім був активним, що він росте швидше та має кращі показники?
Sparhawk

8
Це вже неправда, що Vim не підтримує асинхронно виконувати фонові завдання.
Багатий

35

Я спеціально звертаюся до:

Чому я повинен дбати? Як користувач, яка для мене різниця?

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

З часом ви почнете бачити справді вражаючі плагіни та програми, які працюють з Neovim, але не з Vim. Тут є список плагінів, специфічних для Neovim: тут, у github neovim .

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


15

Моє власне улюблене доповнення, яке Neovim вносить до столу, - це термінальний режим. Тепер ви можете розділити вікно Neovim і мати емулятор термінала, що працює з одного боку, і редагувати файл з іншого боку! Я думаю, ви могли б навіть запустити Neovim всередині себе зараз, на всякий випадок, якщо ви дійсно цього хотіли.

Асинхронні плагіни також незабаром стануть надзвичайно корисними; це означає, що ми, нарешті, зможемо виконати дійсно гарний код після лише 40 років очікування!

У Neovim також є краща підтримка миші, ніж у Vim.


2
Вони повинні називати це Metavim: P
Tumbler41

Я не знаю жодних змін, що стосуються миші, які мали би Neovim, які зробили б це краще, ніж Vim.
Jamessan

Що вам спадає на думку зараз, це те, що ви можете бути на терміналі ssh сесії, відкрити Neovim і натиснути на місце, щоб відредагувати його. Я не думаю, що Vim може це зробити, хоча можливо, у мене просто немає досить великого .vimrc! Я думаю, це може бути краще названо підтримкою ssh, ніж підтримка миші.
Джоннатан Андерсен

Однозначно можна використовувати мишу у Vim через SSH-з'єднання (я просто спробував це), але якщо ви не змогли змусити його працювати у Vim, і він працює за замовчуванням у NeoVim, я думаю, це точка даних на користь вашої заяви про те, що підтримка в NeoVim краще;).
Багатий

1
Я використовую мишу в звичайному Vim над SSH від Putty, що працює на Windows з однією set mouse=aлінією в vimrc досить довгий час
Thunderbeef

5

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

  1. NeoVim зовсім НЕ намагатися бути Vi сумісні за замовчуванням. Вони змінили багато значень за замовчуванням для налаштувань і активно обговорюють такі зміни: # 2676 , # 6289
  2. Він може бути вбудований в інший процес (пам’ятаєте інтеграцію в netbeans ?) Та має безліч різних графічних інтерфейсів, тому MacVim вже не наймиліший графічний інтерфейс, який ви можете знайти для свого $EDITOR.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.