Emacs vs. Vim

Emacs vs. Vim

Emacs dan Vim Adakah dua editor teks yang paling banyak digunakan di sistem Unix dan Unix seperti. Terdapat sejarah persaingan yang panjang antara dua editor teks ini, yang jauh lebih maju daripada editor teks lain di platform Unix. Walaupun kedua -dua editor mempunyai fungsi yang sama melalui kekunci plugin, skrip, dan pintasan mereka, pendekatan mereka sedikit berbeza.

Carta Perbandingan

Perbezaan - Persamaan - Carta perbandingan emacs berbanding vim
EmacsVim
  • Penarafan semasa ialah 4.04/5
  • 1
  • 2
  • 3
  • 4
  • 5
(167 penilaian)
  • Penarafan semasa ialah 4.21/5
  • 1
  • 2
  • 3
  • 4
  • 5
(210 penilaian)
Pelepasan pratonton 23 7.2a.13 (2008-07-04)
Ditulis dalam C dan emacs lisp C dan skrip Vim
Platform Cross-Patform, termasuk Unix, Linux dan Microsoft Windows Cross-Patform, termasuk Unix, Linux dan Microsoft Windows
Terdapat di Bahasa Inggeris, Cina, Perancis, Itali, Poland, Rusia Bahasa Inggeris, Cina, Perancis, Itali, Poland, Rusia
Jenis Editor teks Editor teks
Lesen GNU GPL Perisian Percuma, Charityware, Serasi GPL
Laman web http: // www.gnu.org/perisian/emacs/ http: // www.vim.org/
Pengenalan (dari Wikipedia) EMACS adalah kelas editor teks yang kaya dengan ciri, biasanya dicirikan oleh kelanjutannya. Emacs mempunyai lebih daripada 1,000 arahan penyuntingan. Ia juga membolehkan pengguna menggabungkan arahan ini ke dalam makro untuk mengautomasikan kerja. Vim adalah editor teks yang pertama kali dikeluarkan oleh Bram Moolenaar pada tahun 1991 untuk Komputer Amiga. Nama "Vim" adalah akronim untuk "VI bertambah baik" kerana Vim dicipta sebagai versi editor VI yang dilanjutkan, dengan banyak ciri tambahan yang direka untuk membantu
Direka oleh Richard Stallman Bram Moolenaar
Pelepasan awal 1976 1991
Pelepasan stabil 22.3 (2008-09-05) 7.2 (2008-08-09)
Tab Buffer Disokong dalam kedua -dua baris arahan dan antara muka pengguna grafik Disokong dalam kedua -dua baris arahan dan antara muka pengguna grafik

Antara muka pengguna emacs dan vim

Vim menggunakan mod penyuntingan - paling biasa mod arahan dan Mod Masukkan. Vim bertujuan untuk meminimumkan bilangan ketukan kekunci yang harus ditekan oleh pengguna, kerana Vi, yang mana Vim berasaskan, direka untuk digunakan di atas terminal yang perlahan.

Emacs menggunakan kunci pengubah untuk membolehkan pintasan, yang sering melibatkan menekan beberapa kunci secara serentak untuk satu fungsi. Aspek emac ini sering dikritik.

Kemudahan pembelajaran

Emacs lebih mudah dipelajari kerana ia mempunyai antara muka yang lebih semula jadi (untuk pengguna yang biasa dengan editor teks berasaskan GUI). Oleh kerana Vim mempunyai mod penyuntingan yang berbeza, pemula merasa lebih sukar untuk dipelajari.

Kelajuan produktiviti dan penyuntingan

Peminat Vim berhujah bahawa apabila pengguna menjadi biasa dengan mod pengeditan dan arahan VIM, ia membolehkan produktiviti dan kecekapan yang jauh lebih besar. Penyuntingan fail biasanya lebih cepat dengan VIM daripada dengan Emacs kerana antara muka Vim yang sengaja didorong oleh Vim. Sebagai contoh, pergerakan kursor dapat dikawal melalui H, J, K, dan L Kekunci dalam mod biasa. Ini bermaksud tangan pengguna tidak perlu meninggalkan kedudukan "baris rumah", yang meningkatkan kecekapan, tetapi datang dengan harga menambah overhead sebagai penukaran mod diperlukan untuk memilih antara pergerakan dan penyuntingan teks. Dalam Emacs (dengan konfigurasi lalai), pengguna menggerakkan kursor dengan pintasan Ctrl-B atau Ctrl-F, yang mungkin melambatkan pengguna pemula kerana dua kunci perlu ditekan. Penambahbaikan produktiviti dan kecekapan dalam EMAC bergantung kepada konfigurasi persekitaran penyuntingan dan bukannya editor itu sendiri.

Penggunaan ram emacs vs vim

Vim lebih ringan daripada Emacs dan menggunakan memori yang kurang. Vim Advocates mengkritik penggunaan sumber Emacs dengan cadangan lidah-di-pipi bahawa Emacs bermaksud "lapan puluh megabait dan sentiasa bertukar".

Walau bagaimanapun, dengan gnuclient, satu proses emacs berterusan dapat dijalankan yang dapat menyokong beberapa pelanggan secara serentak. Ini mempercepatkan masa permulaan dan mengurangkan jumlah penggunaan memori, menutup jurang antara EMACS dan VIM.

Kelanjutan dan penyesuaian Emacs vs VIM

Walaupun kedua -dua vim dan emacs menyokong plugin yang meningkatkan fungsi mereka, Emacs menyokong lebih banyak penyesuaian persekitaran editor. Ini boleh dikatakan ciri terpenting emacs dan bertanggungjawab untuk banyak pengikut yang dikhaskan Emacs.

EMACS boleh dilanjutkan di ELISP, sementara VIM mempunyai bahasa skrip dalamannya sendiri dan menyokong penggunaan bahasa pengaturcaraan lain untuk pembangunan plugin.

EMACS boleh dilanjutkan dengan cepat dengan mentakrifkan semula fungsi ELISP terbina dalam, sama ada dengan menaip definisi baru ke Emacs atau dengan memuatkan fail ELISP. Kumpulan perubahan yang berkaitan dipanggil "mod", dan boleh dikonfigurasi dengan mudah untuk digunakan secara automatik untuk jenis fail tertentu (penampan). Oleh itu, mudah untuk menentukan mod untuk bahasa atau kerangka pengaturcaraan yang berbeza seperti "mod lisp" atau "ruby on rails mod" atau "mod php". Mod ini secara langsung boleh mengubah suai tingkah laku teras Emacs, format secara automatik atau mewarnai teks dan menambah templat standard atau teks "boilerplate" seperti pengisytiharan fungsi dan penutupan. Oleh itu, pengaturcara mendapati emacs jauh lebih disesuaikan dengan keperluan khusus mereka daripada vim. Namun sesetengah pengatur mungkin mendapati Vim akhirnya lebih sesuai dengan persekitaran pengaturcaraan mereka kerana operasi modal yang sama -sama disesuaikan dan sepenuhnya.

Vim juga boleh dilanjutkan dengan cepat dengan menggunakan mod arahan. Mod arahan membolehkan pilihan konfigurasi ditetapkan, berfungsi untuk ditakrifkan, dan makro dibuat. Malah, fail konfigurasi untuk Vim hanyalah arahan yang boleh dimasukkan melalui mod arahan.

Antara Muka Pengguna Grafik (GUI)

Kedua -dua Vim dan Emacs mempunyai antara muka pengguna grafik. Hampir semua item menu pada antara muka grafik untuk kedua -dua editor adalah cara untuk mengendalikan arahan pintasan atau konfigurasi cepat. GUI untuk editor tidak menyediakan hampir sebarang fungsi tambahan di luar yang terdapat di CLI (antara muka baris perintah)

Emacs menggunakan XDISPLAY atau GTK2 untuk GUInya. Vim boleh menggunakan banyak perpustakaan GUI yang lain, seperti GTK, GNOME, GNOME2, Motif, Athena dan NextAW, sebagai tambahan kepada GTK2.