Apa itu Neovim? Apa bedanya dengan Vim? Dan mengapa saya harus peduli?


118

Saya telah mendengar tentang Neovim ; apa bedanya dengan Vim? Semua poin di beranda hanyalah perubahan arsitektur 'di bawah tenda'. Sebagai pengguna, apa bedanya bagi saya?


1
Fitur asinkron adalah penyelamat. Itu membuat vim jauh lebih banyak cairan dan banyak plugin dapat memanfaatkannya.
tommyip

Tutor ditingkatkan. Itu terlihat berbeda.
Fernando Rodriguez

"Situs web yang terlihat bagus, itu satu hal yang Neovim lakukan dengan benar." - Bram Moolenaar dari wawancara
michael

Beberapa pilihan dasar tampak aneh dan tidak relevan untuk tujuan utama ... Banyak yang terasa seperti seseorang yang tidak suka kode lama dan ingin melakukannya "benar." Saya bisa setuju bahwa kode lama itu jelek. Tetapi akan membutuhkan banyak upaya untuk membuat implementasi baru. Ini sangat mirip dengan apa yang terjadi pada Elvis: Menulis ulang akan membuatnya jauh lebih baik, tetapi butuh waktu begitu lama, di mana Vim menambahkan lebih banyak fitur, yang akhirnya tidak ada begitu banyak pengguna Elvis. Dan Elvis yang ditulis ulang mungkin memiliki kode yang bagus, tetapi pengguna tidak memperhatikannya. binpress.com/vim-creator-bram-moolenaar-interview
NeilG

Saya berharap bahwa hal-hal baik yang dihasilkan oleh NeoVim dapat ditambahkan kembali ke Vim. Maksud saya, siapa yang tidak menginginkan dukungan plugin yang lebih baik, GUI dan embedding yang lebih baik? Pertanyaan besar adalah bagaimana melakukan itu, dan siapa yang akan mengimplementasikannya dengan benar. binpress.com/vim-creator-bram-moolenaar-interview
NeilG

Jawaban:


81

Seperti yang dijelaskan oleh homepage neovim, tujuan neovim adalah untuk membuka jalan bagi proyek open source berbasis komunitas yang lebih baik dan lebih terbuka.

Perubahan arsitektural tidak hanya akan membawa stabilitas lebih & meningkatkan kinerja ke vim tetapi membuat kode lebih banyak dipelihara dan membawa penghalang entri sedikit turun untuk siapa saja yang tertarik untuk berkontribusi.

Salah satu perubahan utama juga mencakup fitur inti dari akses untuk mengeksekusi pekerjaan / tugas secara tidak sinkron dalam vim, yang telah menjadi salah satu fitur vim yang paling diminta sejak lama. Ini dapat membantu meningkatkan kinerja vim lebih jauh terutama karena vim tidak harus memblokir sementara pekerjaan latar belakang melakukan sesuatu.

Sebagai pengguna vim, tidak banyak yang dapat berubah selain fakta bahwa neovim harus tumbuh sebagai perangkat lunak jauh lebih cepat (memperbaiki masalah, menambah fitur) dibandingkan dengan vim saham dan bahwa itu akan memiliki kinerja yang jauh lebih baik dalam jangka panjang.


24
+1. Izinkan saya juga menambahkan bahwa fakta bahwa akan ada sedikit perubahan yang terlihat oleh pengguna adalah hal yang baik.
carlosdc

27
Ini berbunyi seperti pengulangan siaran pers dan bukan ikhtisar sebenarnya mengapa seseorang harus peduli. Misalnya saya telah menggunakan vim selama dua dekade dan tidak dapat mengingat kapan terakhir kali program inti menunjukkan ketidakstabilan pada saya, mengapa saya harus peduli dengan "lebih stabil"?
Caleb

2
Tugas asinkron seharusnya berarti tidak ada lagi penghambatan antarmuka vim untuk melakukan pekerjaan yang mungkin ada di latar belakang.
alxndr

3
Apakah ada bukti dalam dua tahun bahwa neovim telah aktif bahwa ia tumbuh lebih cepat, dan memiliki kinerja yang lebih baik?
Sparhawk

8
Tidak lagi benar bahwa Vim tidak memiliki dukungan untuk menjalankan pekerjaan latar belakang secara asinkron.
Kaya

36

Saya secara khusus menangani:

Kenapa aku harus peduli? Sebagai pengguna, apa bedanya bagi saya?

Hal yang paling saya sukai sebagai pengguna Vim adalah jenis baru plugin, integrasi, dan antarmuka yang akan diaktifkan oleh perubahan di bawah tudung Neovim.

Seiring berjalannya waktu, Anda akan mulai melihat plugin dan program yang sangat mengesankan yang bekerja dengan Neovim tetapi tidak dengan Vim. Ada daftar plugin khusus Neovim: di sini di github neovim .

Saya tidak tahu seberapa mutakhirnya, tetapi saya senang melihatnya bertambah saat kami mendapatkan lebih banyak alat untuk membuat pengkodean lebih efisien dan menyenangkan.


15

Tambahan favorit saya sendiri yang dibawa Neovim ke meja adalah mode terminal. Sekarang Anda dapat membagi jendela Neovim Anda dan menjalankan emulator terminal di satu sisi dan mengedit file di sisi lain! Saya kira Anda bahkan dapat menjalankan Neovim di dalam dirinya sendiri sekarang, kalau-kalau Anda benar-benar ingin melakukan itu.

Memiliki plugin yang tidak sinkron juga akan sangat berguna segera; ini berarti kita akhirnya dapat memiliki penyelesaian kode yang sangat bagus, setelah hanya 40 tahun menunggu!

Neovim juga memiliki dukungan mouse yang lebih baik daripada Vim.


2
Mereka harus menyebutnya Metavim: P
Tumbler41

Saya tidak tahu adanya perubahan spesifik mouse yang dimiliki Neovim yang akan membuatnya lebih baik daripada Vim.
jamessan

Yang muncul di benak Anda saat ini adalah bahwa Anda dapat berada di sesi ssh terminal, membuka Neovim, dan mengklik sebuah tempat untuk mengeditnya. Saya tidak berpikir Vim bisa melakukan itu, walaupun mungkin saja saya belum cukup besar .vimrc! Saya kira ini mungkin lebih baik disebut sebagai dukungan ssh daripada dukungan mouse.
Johnathan Andersen

Sangat mungkin untuk menggunakan mouse di Vim melalui koneksi SSH (saya baru saja mencobanya), tetapi jika Anda tidak dapat membuatnya bekerja di Vim dan berfungsi secara default di NeoVim saya kira itu adalah titik data yang mendukung pernyataan Anda bahwa dukungan di NeoVim lebih baik;).
Kaya

1
Saya telah menggunakan mouse dalam Vim reguler lebih dari SSH dari Putty yang berjalan pada Windows dengan satu set mouse=abaris di vimrc untuk sementara waktu
Thunderbeef

5

Dua poin yang belum ditangani oleh jawaban lain dan mungkin menarik bagi pengguna, bahkan atau terutama pengguna baru tanpa (atau dengan file konfigurasi kecil):

  1. NeoVim tidak tidak mencoba untuk menjadi Vi kompatibel secara default. Mereka mengubah banyak nilai default untuk pengaturan dan secara aktif mendiskusikan perubahan tersebut: # 2676 , # 6289
  2. Ini dapat tertanam dalam proses lain (ingat integrasi netbeans ?) Dan memiliki banyak GUI yang berbeda sehingga MacVim bukan lagi GUI paling bagus yang dapat Anda temukan untuk Anda $EDITOR.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.