Che cos'è Neovim? In cosa differisce da Vim? E perché dovrei preoccuparmi?


118

Ho sentito parlare di Neovim ; in cosa differisce da Vim? Tutti i punti sulla homepage sono solo cambiamenti architettonici 'sotto il cofano'. Come utente, qual è la differenza per me?


1
La funzione asincrona ti salva la vita. Rende Vim molto più fluido e molti plugin possono trarne vantaggio.
Tommyip,

Il tutor è stato migliorato. Sembra diverso
Fernando Rodriguez,

"Un sito web di bell'aspetto, è una cosa che Neovim ha fatto bene." - Bram Moolenaar dall'intervista
michael

Alcune delle scelte di base sembrano strane e irrilevanti per gli obiettivi principali ... Molti si sentono come qualcuno a cui non piace il vecchio codice e vuole farlo "giusto". Sono d'accordo che il vecchio codice sia brutto. Ma ci vorrà moltissimo sforzo per realizzare una nuova implementazione. È molto simile a quello che è successo a Elvis: una riscrittura lo avrebbe reso molto migliore, ma ci è voluto così tanto tempo, durante il quale Vim ha aggiunto più funzionalità, che alla fine non ci sono così tanti utenti Elvis. E il riscritto Elvis potrebbe avere un bel codice, ma gli utenti non se ne accorgono. binpress.com/vim-creator-bram-moolenaar-interview
NeilG

Spero che le cose carine che NeoVim propone possano essere aggiunte a Vim. Voglio dire, chi non desidera un miglior supporto plug-in, una migliore interfaccia grafica e incorporamento? La grande domanda è come farlo e chi lo implementerà correttamente. binpress.com/vim-creator-bram-moolenaar-interview
NeilG

Risposte:


81

Proprio come descrive la homepage di Neovim, l'obiettivo di Neovim è aprire la strada a un progetto open source migliore e più apertamente guidato dalla comunità.

I cambiamenti architettonici non solo porteranno più stabilità e miglioreranno le prestazioni, ma renderanno il codice molto più mantenibile e abbasseranno leggermente la barriera d'ingresso per chiunque sia interessato a contribuire.

Una delle modifiche chiave include anche la funzione principale dell'accesso all'esecuzione asincrona di lavori / compiti in vim, che è stata una delle funzionalità più richieste di vim da molto tempo. Questo può aiutare a migliorare ulteriormente le prestazioni di VIM, soprattutto perché Vim non dovrà bloccarsi mentre un lavoro in background sta facendo qualcosa.

Come utente vim, non molto potrebbe cambiare oltre al fatto che neovim dovrebbe crescere come software molto più velocemente (risolvere problemi, aggiungere funzionalità) rispetto a stock vim e che avrà prestazioni molto migliori a lungo termine.


24
+1. Vorrei anche aggiungere che il fatto che ci saranno pochissime modifiche visibili all'utente è una buona cosa.
carlosdc,

27
Sembra una rehash di un comunicato stampa piuttosto che una vera e propria carrellata del perché qualcuno dovrebbe preoccuparsene. Ad esempio, uso Vim da due decenni e non ricordo l'ultima volta che il programma principale mi ha mostrato alcun tipo di instabilità, quindi perché dovrei preoccuparmi di "più stabile"?
Caleb,

2
Le attività asincrone non dovrebbero significare più il blocco dell'interfaccia di Vim per eseguire operazioni che potrebbero essere in background.
alxndr,

3
Esistono prove nei due anni che Neovim è stato attivo nel fatto che sta crescendo più velocemente e ha prestazioni migliori?
Sparhawk,

8
Non è più vero che Vim non ha supporto per l'esecuzione di processi in background in modo asincrono.
Ricco il

36

Mi rivolgo in particolare a:

Perchè dovrebbe interessarmi? Come utente, qual è la differenza per me?

La cosa di cui sono più entusiasta come utente di Vim sono i nuovi tipi di plug-in, integrazioni e interfacce che saranno abilitati dalle modifiche alla base di Neovim.

Col passare del tempo inizierai a vedere plugin e programmi davvero impressionanti che funzionano con Neovim ma non con Vim. C'è un elenco di plugin specifici per Neovim : qui nel github di Neovim .

Non so quanto sia aggiornato, ma sono entusiasta di vederlo crescere man mano che otteniamo più strumenti per rendere la codifica più efficiente e divertente.


15

La mia aggiunta preferita che Neovim porta sul tavolo è la modalità terminale. Ora puoi dividere la finestra di Neovim e far funzionare un emulatore di terminale da un lato e modificare un file dall'altro lato! Suppongo che potresti persino far girare Neovim dentro di sé adesso, nel caso in cui volessi davvero farlo.

Avere plugin asincroni sarà presto estremamente utile; questo significa che siamo finalmente in grado di avere un completamento del codice davvero buono, dopo solo 40 anni di attesa!

Neovim ha anche un supporto del mouse migliore rispetto a Vim.


2
Dovrebbero chiamarlo Metavim: P
Tumbler41

Non conosco alcuna modifica specifica del mouse che Neovim abbia, che lo renderebbe migliore di Vim.
Jamessan,

Quello che mi viene in mente in questo momento è che puoi essere in una sessione ssh terminale, aprire Neovim e fare clic su un punto per modificarlo. Non credo che Vim possa farlo, anche se è possibile che non abbia ancora abbastanza .vimrc! Immagino che questo potrebbe essere meglio definito come supporto ssh che supporto per mouse.
Johnathan Andersen,

È sicuramente possibile utilizzare il mouse in Vim su una connessione SSH (l'ho appena provato), ma se non si è riusciti a farlo funzionare in Vim e funziona di default in NeoVim, suppongo che sia un punto dati a favore della tua affermazione che il il supporto in NeoVim è migliore;).
Ricco il

1
Sto usando il mouse in Vim su SSH da Putty in esecuzione su Windows con una sola set mouse=ariga in vimrc da un po 'di tempo
Thunderbeef

5

Due punti che non sono ancora stati affrontati da altre risposte e potrebbero essere interessanti per un utente, anche o soprattutto per i nuovi utenti senza un file di configurazione (o con un piccolo):

  1. NeoVim non senza cercare di essere compatibile con Vi per impostazione predefinita. Hanno modificato molti valori predefiniti per le impostazioni e stanno discutendo attivamente di tali cambiamenti: # 2676 , # 6289
  2. Può essere incorporato in un altro processo (ricordi l' integrazione di netbeans ?) E ha molte GUI diverse, quindi MacVim non è più la GUI più elegante che puoi trovare per la tua $EDITOR.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.