dalam budaya hacker, perang editor adalah debat dalam komunitas pemrogram komputer tentang editor teks mana yang paling baik untuk kegunaan umum.
kedua pihak yang bersaing ketat adalah pendukung emacs dan pendukung vi.
komunitas ini memiliki tradisi untuk memperlakukan editor kesukaan mereka dengan fanatisme yang hampir-hampir religius.
banyak flame wars telah dikobarkan antar kedua kelompok, masing-masing membela editornya sendiri, dan menghina editor yang lain.
kebanyakan peserta dalam debat ini mengerti bahwa hal ini hanyalah humor saja.
selain itu juga ada perang mengenai sistem operasi dan bahasa pemrograman sampai indent style source code.
perang editor biasanya melibatkan pendukung emacs dan vi, kedua editor paling terkenal dalam sistem operasi unix dan turunannya.
kebanyakan pemrogram unix menggunakan salah satu editor ini.
banyak yang dapat menggunakan keduanya, setidaknya untuk kegunaan minimal, dan karena itu merasa layak untuk mengeluarkan pendapat mengenai editor mana yang lebih baik.
segi positif emacs
emacs memiliki lebih banyak perintah daripada vi dan editor-editor turunannya, walaupun vim punya hampir sama banyak.
emacs adalah scriptable dengan satu variant dari lisp yang disebut emacs lisp, dan memiliki banyak plug-ins seperti gnus newsreader dan banyak software development tools.
emacs adalah mirip swiss army knife-nya editor, dan menganut motto "big is beautiful".
alasannya adalah karena emacs berasal dari teco editor dalam sistem operasi its dan tops-10, yang lebih tua dari unix.
emacs mengandung vi, dalam viper-mode (ingat bahwa vi bukan vim; emacs tidak mengandung vim proper).
emacs tidak perlu beralih dari "command" mode dan "input" mode.
gnu emacs dapat menghitung dalam sistem kalender seperti mayan atau discordian, yang tidak dapat dilakukan <ti>vi atau editor-editor yang mirip.
mode edit khusus untuk 25 bahasa pemrograman termasuk java, perl, c, c++, objective c, fortran, lisp, scheme, dan pascal (vim punya semua mode ini juga).
mode khusus bahasa scripting untuk bash, shell lainnya, dan menciptakan makefiles untuk gnu/linux, unix, microsoft windows/dos dan openvms systems.
mendukung pengetikan dan tampilan dalam 21 bahasa non-inggris, termasuk bahasa tionghoa, ceko, hindi, ibrani, rusia, vietnam dan semua bahasa eropa barat.
menciptakan postscript output dari plain text files dan memiliki mode edit khusus untuk document presentation formats seperti latex, tex, dan wikipedia.
debug dari dalam emacs
memiliki program changelogs
fungsi gabung file dan diff
navigasi directory: dapat menggunakan dired untuk menandai, memindahkan dan menghapus file dan sub-directory secara rekursif.
menggunakan emacs sebagai shell sendiri
version control management untuk release dan beta versions, dengan cvs dan rcs integration.
pengguna emacs berpendapat bahwa editor ini adalah contoh filosofi unix yang lebih baik karena pengguna dapat menambahkan sebuah mode (atau program) kepada emacs dengan emacs lisp interpreter, sedangkan pengguna vi harus menulis versi vi baru, menghasilkan messy monolithic crufty program; dalam pandangan ini (misalnya oleh eric s. raymond dll), emacs bukan hanya sebuah program tapi juga adalah sebuah portable framework di mana modul-modul dapat ditambahkan bila perlu.
vim juga memiliki bahasa scripting yang berfungsi sama.
segi positif vi
vi lebih kecil dan cepat daripada emacs dan tidak perlu banyak overhead.
lihat feature creep.
vi terdapat di semua sistem operasi berdasar unix seperti tercantum dalam posix standard.
pengguna vi berpendapat bahwa editor ini menerapkan filosofi design unix ("do one thing, and do it well").
unix tidak mendukung "swiss army knives", melainkan alat yang tepat untuk kegunaan yang tepat.
perintah-perintah vi dimasukkan tanpa tombol-tombol modifier seperti ctrl atau alt. beberapa pengguna berpendapat ini mengurangi cedera pergelangan tangan (lihat repetitive strain injury).
vi adalah "what you see is what you get (pretty much everywhere)".
pengguna vi biasanya tidak menyesuaikan editornya, tidak seperti pengguna emacs yang bingung bila versinya yang diubah tidak ada.
kompilasi dan debug dari vim dengan m[a]ke, :cl, dan perintah-perintah yang mirip (fungsi ini tidak ada di vi proper).
ingat bahwa debugging code dari editor teks juga dianggap keuntungan emacs daripada vi.
vi adalah modal.
mode "browsing", "editing", "command" dan "visual selection" terpisah (tidak di vi, hanya di klon-klon vi) dan hal ini sangat berguna bila sudah terbiasa.