{"version":1,"type":"app-review","editorialAuthor":"AppDuo Editorial Team","slug":"neovim","name":"Neovim","aliases":["nvim","Neo Vim","vim neovim"],"pages":{"vi":"https://app-duo.com/apps/neovim","en":"https://app-duo.com/en/apps/neovim"},"data":"https://app-duo.com/data/apps/neovim.json","reviewMethod":"research","reviewMethodNote":"Prepared by the AppDuo Editorial Team using cited sources. Consult the review record for the documented scope of product experience.","lastVerifiedAt":"2026-11-11","firstPublishedAt":"2026-11-11","dateModified":"2026-11-11","product":{"website":"https://neovim.io","developer":"Cộng đồng Neovim","developerCountry":"US","launchYear":2014,"status":"active","categories":[{"slug":"development","name":{"vi":"Lập trình","en":"Development"}}],"platforms":["windows","macos","linux"],"interfaceLanguages":["en","vi","ja","zh","es","fr","ko","de","pt","ru"],"capabilities":["open-source","offline","integrations"],"integrations":["Language Server Protocol","Tree-sitter","Lua","Vimscript","RPC API"],"support":["docs","community"]},"tagline":{"vi":"Trình soạn thảo mã nguồn mở kế thừa Vim, cấu hình bằng Lua","en":"Open-source, Vim-based editor configured in Lua"},"useCases":{},"verdict":{"vi":"Hợp với người đã quen lối soạn thảo của Vim và muốn tự dựng một môi trường lập trình gọn nhẹ, chạy ngay trong terminal. Đổi lại, người mới phải học thao tác và tự cấu hình khá nhiều, trong khi tài liệu chính thức chỉ có tiếng Anh.","en":"A good fit for people comfortable with Vim-style editing who want a light, terminal-based setup they assemble themselves. The trade-off is a steep learning curve, plenty of manual configuration and English-only official documentation."},"bestFor":{"vi":["Lập trình viên quen lối soạn thảo của Vim, thường làm việc trong terminal hoặc qua SSH","Người thích tự tùy biến trình soạn thảo bằng Lua và plugin"],"en":["Developers used to Vim-style editing who work in the terminal or over SSH","People who like to customise their editor with Lua and plugins"]},"notFor":{"vi":["Người mới cần công cụ dùng được ngay, có giao diện đồ họa đầy đủ và trình gỡ lỗi sẵn có"],"en":["Beginners who want a ready-to-use graphical environment with built-in debugging"]},"pros":{"vi":[{"text":"Miễn phí, mã nguồn mở, không cần tài khoản","sourceIds":[]},{"text":"Có sẵn Lua, LSP và Tree-sitter, không cần cài thêm","sourceIds":[]},{"text":"Chạy trên Windows, macOS, Linux và BSD; có bản dựng sẵn cho x86_64 và arm64","sourceIds":[]},{"text":"Dùng chung lối soạn thảo với Vim, chạy được Vimscript v1; nhiều giao diện đồ họa có thể nhúng Neovim","sourceIds":[]}],"en":[{"text":"Free, open source, no account needed","sourceIds":[]},{"text":"Lua, LSP and Tree-sitter built in","sourceIds":[]},{"text":"Runs on Windows, macOS, Linux and BSD, with pre-built x86_64 and arm64 binaries","sourceIds":[]},{"text":"Shares Vim's editing model and runs Vimscript v1; many GUI front ends embed it","sourceIds":[]}]},"cons":{"vi":[{"text":"Phải tự cấu hình mới gần được trải nghiệm của một IDE; hỗ trợ chủ yếu qua tài liệu và cộng đồng","sourceIds":[]},{"text":"Tài liệu chính thức chỉ có tiếng Anh","sourceIds":[]},{"text":"Từng có hai lỗ hổng cho phép chạy mã qua tệp được chế tạo riêng (2019, 2023); cả hai đã được vá, nhưng cần cập nhật bản mới thường xuyên","sourceIds":[]}],"en":[{"text":"Needs manual setup to approach an IDE experience; support is mainly docs and community","sourceIds":[]},{"text":"Official documentation is English-only","sourceIds":[]},{"text":"Two flaws allowed code execution via crafted files (2019, 2023); both are patched, but staying on current releases matters","sourceIds":[]}]},"scores":{"overall":7.4,"scale":10,"criteria":[{"criterion":"ease-of-use","score":5,"rationale":{"vi":"Lối soạn thảo theo chế độ (modal) của Vim cần thời gian làm quen, và tài liệu chính thức chỉ có tiếng Anh. Bù lại, thông báo trong trình soạn thảo có bản dịch sang hơn 25 ngôn ngữ (tiếng Việt, tiếng Nhật, tiếng Trung…). Điều lệ đặt mục tiêu dùng tốt ngay khi cài, nhưng phần lớn người dùng vẫn tự viết tệp cấu hình init.lua.","en":"Vim's modal editing takes time to learn and the official docs are English-only, though editor messages are translated into 25+ languages (Vietnamese, Japanese, Chinese, …). The charter aims for a good out-of-the-box experience, but most users still write their own init.lua."},"sourceIds":[]},{"criterion":"features","score":8,"rationale":{"vi":"Có sẵn Lua, LSP, Tree-sitter, :terminal, API RPC và nhiều giao diện đồ họa. Gỡ lỗi và các tính năng kiểu IDE phải nhờ plugin.","en":"Built-in Lua, LSP, Tree-sitter, :terminal, an RPC API and many GUI front ends. Debugging and IDE-style features come from plugins."},"sourceIds":[]},{"criterion":"value","score":9,"rationale":{"vi":"Miễn phí hoàn toàn theo giấy phép Apache 2.0, không có gói trả phí hay giới hạn sử dụng.","en":"Completely free under Apache 2.0, with no paid tier or usage limits."},"sourceIds":[]},{"criterion":"performance","score":8,"rationale":{"vi":"Trang chủ nói Neovim có ít hơn Vim 30% mã nguồn và chạy ngay trong terminal. Chúng tôi không tìm thấy phép đo hiệu năng độc lập, nên điểm này dựa trên thiết kế chứ không dựa trên số đo.","en":"The website says Neovim has 30% less source code than Vim, and it runs in a terminal. We found no independent benchmarks, so the score reflects design rather than measurements."},"sourceIds":[]},{"criterion":"support","score":6,"rationale":{"vi":"Có tài liệu chính thức và cộng đồng trên GitHub, nhưng không có kênh hỗ trợ chính thức qua email hay chat.","en":"Official docs and a GitHub community exist, but there is no official email or chat support."},"sourceIds":[]},{"criterion":"privacy","score":8.5,"rationale":{"vi":"Chạy trên máy, không cần tài khoản, mã nguồn mở. Hai lỗ hổng chạy mã đã công bố (CVE-2019-12735 vá ở bản 0.3.6; lỗi Tree-sitter vá ở bản 0.8.3) đều đã được sửa. Plugin bên thứ ba nằm ngoài phạm vi đánh giá này.","en":"Runs locally, no account, open source. Two disclosed code-execution flaws (CVE-2019-12735, fixed in 0.3.6; a Tree-sitter injection flaw, fixed in 0.8.3) have been patched. Third-party plugins are outside this assessment."},"sourceIds":[]}]},"pricing":{"model":"open-source","currency":"USD","startingPrice":0,"startingPriceByCurrency":{"USD":{"price":0,"audience":"personal"}},"plans":[{"name":"Neovim","audience":"personal","priceMonthly":0,"priceYearlyPerMonth":null,"unit":"flat","limits":{"vi":"Miễn phí, mã nguồn mở theo giấy phép Apache 2.0 (phần mã lấy từ Vim giữ giấy phép Vim). Không giới hạn số máy hay số người dùng.","en":"Free and open source under Apache 2.0 (code carried over from Vim keeps the Vim license). No seat or device limits."},"sourceIds":["s3"]}],"vietnamPlans":[],"vietnamPricingSource":null,"usdPlans":[],"usdPricingSource":null,"freeLimits":{"vi":"Mọi tính năng đều miễn phí, không có gói trả phí.","en":"Every feature is free; there is no paid tier."},"trialDays":null,"trialCardRequired":false,"refund":{"vi":"Không áp dụng vì Neovim miễn phí; dự án chỉ nhận tài trợ tự nguyện.","en":"Not applicable: Neovim is free and funded by voluntary sponsorship."},"pricingUrl":"https://neovim.io/sponsors/","sourceIds":["s3"]},"privacy":{"vi":"Neovim chạy trên máy của bạn và không cần tài khoản. Trong các trang chúng tôi đã đọc, dự án không công bố chính sách thu thập dữ liệu người dùng riêng. Mã nguồn mở nên ai cũng kiểm tra được. Plugin bên thứ ba có thể tự gửi dữ liệu ra ngoài, nên cần xem xét từng plugin.","en":"Neovim runs locally and needs no account. The pages we read publish no separate user-data policy. The source code is open for anyone to inspect. Third-party plugins can send data on their own, so each one needs its own review."},"controversies":{"researchedAt":"2026-11-11","items":[{"date":"2023-02-01","kind":"security","severity":"low","status":"resolved","title":{"vi":"Lỗ hổng Tree-sitter injection cho phép chạy mã tùy ý","en":"Tree-sitter injection flaw allowed arbitrary code execution"},"summary":{"vi":"Theo thông báo bảo mật của chính Neovim, bản 0.5 đến 0.8.2 có thể nạp một thư viện độc hại khi mở tệp markdown được chế tạo riêng. Lỗi đã được sửa ở bản 0.8.3.","en":"Neovim's own security advisory says versions 0.5 to 0.8.2 could load a malicious library when opening a crafted markdown file. It was fixed in 0.8.3."},"details":{"vi":"Thông báo GHSA-6f9m-hj8h-xjgj công bố ngày 10/2/2023 cho biết khi Tree-sitter xử lý injection, Neovim dùng tên ngôn ngữ lấy từ tệp để nạp parser mà không lọc ký tự đường dẫn. Một tên ngôn ngữ chứa \"../\" có thể trỏ tới tệp thư viện nằm ngoài thư mục parser và chạy mã trong đó. Kẻ tấn công cần đưa được cả tệp thư viện độc hại lẫn tệp markdown lên máy nạn nhân. GitHub chấm mức Moderate (CVSS 6,6); thông báo không nêu cách khắc phục tạm thời ngoài việc nâng cấp lên 0.8.3.","en":"Advisory GHSA-6f9m-hj8h-xjgj, published on February 10, 2023, says that when Tree-sitter processed injections, Neovim used the language name from the file to load a parser without sanitising path elements. A name containing \"../\" could point to a shared library outside the parser directory and run its code. An attacker needed to get both a malicious library and a crafted markdown file onto the victim's machine. It is rated Moderate (CVSS 6.6); the advisory lists no workaround other than upgrading to 0.8.3."},"vendorResponse":{"vi":"Nhóm bảo trì Neovim tự công bố lỗ hổng và phát hành bản sửa 0.8.3.","en":"The Neovim maintainers disclosed the flaw themselves and shipped the fix in 0.8.3."},"sources":[{"label":"Neovim security advisory GHSA-6f9m-hj8h-xjgj","url":"https://github.com/neovim/neovim/security/advisories/GHSA-6f9m-hj8h-xjgj","kind":"official"}],"sourceIds":["s12"]},{"date":"2019-06-01","kind":"security","severity":"low","status":"resolved","title":{"vi":"Lỗ hổng modeline CVE-2019-12735: mở tệp độc hại có thể chạy lệnh hệ thống","en":"CVE-2019-12735 modeline flaw allowed command execution via a crafted file"},"summary":{"vi":"Theo The Register, chỉ cần mở một tệp văn bản được chế tạo riêng bằng Vim trước bản 8.1.1365 hoặc Neovim trước bản 0.3.6 là có thể bị chạy lệnh hệ thống. Lỗi đã được vá.","en":"According to The Register, opening a crafted text file in Vim before 8.1.1365 or Neovim before 0.3.6 could run system commands. It has been patched."},"details":{"vi":"The Register cho biết nhà nghiên cứu Armin Razmjou báo lỗi cho hai nhóm bảo trì ngày 22/5/2019, sau đó công bố chi tiết kèm mã khai thác mẫu. Lỗi nằm ở cách xử lý modeline: thêm dấu ! vào lệnh source cùng ký hiệu % khiến lệnh chạy ngoài vùng cách ly (sandbox). Vim có bản vá ngày 23/5, Neovim phát hành bản sửa ngày 29/5. Có thể giảm rủi ro bằng set nomodeline; theo bài báo, Debian và một số bản phân phối khác tắt modeline theo mặc định.","en":"The Register reports that researcher Armin Razmjou reported the bug to both projects on May 22, 2019 and later published details with a proof of concept. The flaw lay in modeline handling: adding ! to a source command with % ran it outside the sandbox. Vim had a patch on May 23 and Neovim released its fix on May 29. Setting nomodeline mitigates it; per the article, Debian and some other distributions disable modelines by default."},"vendorResponse":{"vi":"Theo The Register, cả hai dự án vá lỗi nhanh sau khi nhận báo cáo; người dùng chỉ cần cập nhật lên bản mới.","en":"Per The Register, both projects patched quickly after the report; updating to a current build addresses the flaw."},"sources":[{"label":"The Register (2019-06-12)","url":"https://www.theregister.com/2019/06/12/vim_remote_command_execution_flaw/","kind":"press"}],"sourceIds":["s10"]}]},"userRatings":[],"history":[{"date":"2014-03-01","type":"launch","note":{"vi":"Thiago de Arruda khởi xướng Neovim sau khi Vim từ chối bản vá bổ sung đa luồng (theo Wikipedia). Đợt gây quỹ trên Bountysource tháng 3/2014 đủ trả lương cho ít nhất một lập trình viên toàn thời gian.","en":"Thiago de Arruda started Neovim after a multi-threading patch for Vim was rejected (per Wikipedia). A March 2014 Bountysource fundraiser covered at least one full-time developer."},"sourceIds":["s9"]},{"date":"2015-11-01","type":"launch","note":{"vi":"Bản phát hành đầu tiên, theo ngày ghi trên Wikipedia.","en":"First release, per the date listed on Wikipedia."},"sourceIds":["s9"]},{"date":"2019-05-29","type":"other","note":{"vi":"Neovim phát hành bản vá (0.3.6) cho lỗ hổng modeline CVE-2019-12735.","en":"Neovim released the fix (0.3.6) for the CVE-2019-12735 modeline flaw."},"sourceIds":["s10"]},{"date":"2021-07-02","type":"feature","note":{"vi":"Bản 0.5 thêm LSP tích hợp, Tree-sitter và hỗ trợ Lua đầy đủ hơn.","en":"Version 0.5 added built-in LSP, Tree-sitter and fuller Lua support."},"sourceIds":["s9"]},{"date":"2023-02-10","type":"other","note":{"vi":"Neovim công bố lỗ hổng chạy mã khi dùng Tree-sitter với injection (bản 0.5 đến 0.8.2) và phát hành bản sửa 0.8.3.","en":"Neovim disclosed a code-execution flaw in Tree-sitter injections (versions 0.5 to 0.8.2) and shipped the fix in 0.8.3."},"sourceIds":["s12"]},{"date":"2025-03-01","type":"feature","note":{"vi":"Neovim công bố bản 0.11 trên trang tin chính thức. Theo Wikipedia, bản này cải thiện việc gợi ý hoàn thành và giúp cấu hình máy chủ LSP dễ hơn.","en":"Neovim announced version 0.11 on its official news page. Per Wikipedia, it improved completion and made LSP server configuration easier."},"sourceIds":["s11"]},{"date":"2026-10-09","type":"feature","note":{"vi":"Bản 0.12.6 là bản ổn định mới nhất trên trang Releases của GitHub tại thời điểm chúng tôi kiểm tra.","en":"Version 0.12.6 was the latest stable release on GitHub Releases at the time of checking."},"sourceIds":["s8"]}],"review":{"vi":"Neovim là trình soạn thảo văn bản kế thừa Vim. Theo Wikipedia, Thiago de Arruda khởi xướng dự án năm 2014 sau khi Vim từ chối bản vá bổ sung đa luồng của ông. Điều lệ dự án viết rằng Neovim không phải bản viết lại mà là sự tiếp nối và mở rộng của Vim.\nTrang chủ liệt kê các tính năng chính: Lua có sẵn để viết plugin và cấu hình (tệp init.lua), LSP có sẵn để phân tích và tái cấu trúc mã, Tree-sitter để tô màu cú pháp, terminal tích hợp (:terminal), soạn thảo nhiều con trỏ và API RPC để viết phần mở rộng bằng ngôn ngữ khác. Theo Wikipedia, LSP và Tree-sitter có từ bản 0.5 (7/2021).\nNeovim miễn phí. Mã mới dùng giấy phép Apache 2.0, phần mã lấy từ Vim giữ giấy phép Vim. Dự án nhận tài trợ qua OpenCollective (GitHub Sponsors cũng chuyển về đây); trang tài trợ cho biết toàn bộ tiền đóng góp dùng cho phát triển, nhà tài trợ hiện tại gồm Meta, Rizin và Route4Me. Trang chủ còn hiển thị CodeRabbit, Greptile và SerpApi.\nSo với Visual Studio Code hay IntelliJ IDEA, Neovim nhẹ hơn và chạy ngay trong terminal, nhưng muốn gỡ lỗi, quản lý dự án hay có giao diện đồ họa thì phải tự ghép plugin. Điều lệ ghi rõ biến Vim thành IDE không nằm trong mục tiêu của dự án. Vì thế Neovim hợp với người muốn tự kiểm soát môi trường làm việc, ít hợp với người cần công cụ dùng được ngay.","en":"Neovim is a text editor that carries on from Vim. According to Wikipedia, Thiago de Arruda started the project in 2014 after a multi-threading patch for Vim was rejected. The project charter calls Neovim a continuation and extension of Vim, not a rewrite.\nThe website lists the main features: built-in Lua for plugins and configuration (init.lua), built-in LSP for code inspection and refactoring, Tree-sitter for syntax highlighting, :terminal, multicursor editing and an RPC API for extensions written in other languages. Wikipedia dates LSP and Tree-sitter support to version 0.5 (July 2021).\nNeovim is free. New code is licensed Apache 2.0, while code copied from Vim keeps the Vim license. Funding goes through OpenCollective (GitHub Sponsors routes there too); the sponsors page says 100% of funds go to development and lists Meta, Rizin and Route4Me as current sponsors. The home page also shows CodeRabbit, Greptile and SerpApi.\nCompared with Visual Studio Code or IntelliJ IDEA, Neovim is lighter and runs in a terminal, but debugging, project management and a graphical interface come from plugins you assemble. The charter lists turning Vim into an IDE as a non-goal. That suits people who want control over their setup, less so those who need ready-made tooling."},"faq":{"vi":[{"question":"Neovim có miễn phí không?","answer":"Có. Neovim là phần mềm mã nguồn mở, miễn phí; phần mã mới dùng giấy phép Apache 2.0. Dự án chỉ nhận tài trợ tự nguyện."},{"question":"Neovim chạy được trên hệ điều hành nào?","answer":"Có bản dựng sẵn cho Windows 8 trở lên, macOS 10.15 trở lên và Linux, trên cả x86_64 lẫn arm64. FreeBSD và OpenBSD cài qua trình quản lý gói. Trên Android, Termux có gói Neovim."},{"question":"Neovim khác Vim ở điểm nào?","answer":"Neovim giữ lối soạn thảo của Vim và chạy được Vimscript v1, đồng thời thêm Lua làm ngôn ngữ cấu hình chính, LSP, Tree-sitter và API RPC. Điều lệ nêu rõ Neovim không đặt mục tiêu hỗ trợ Vim9script."},{"question":"Neovim có giao diện tiếng Việt không?","answer":"Có một phần. Mã nguồn Neovim có sẵn bản dịch tiếng Việt cho các thông báo của trình soạn thảo (tệp vi.po), cùng bản dịch sang hơn 25 ngôn ngữ khác. Tài liệu chính thức (:help) thì chỉ có tiếng Anh."}],"en":[{"question":"Is Neovim free?","answer":"Yes. Neovim is free, open-source software, with new code under Apache 2.0. The project relies on voluntary sponsorship."},{"question":"Which operating systems does Neovim run on?","answer":"Pre-built binaries cover Windows 8+, macOS 10.15+ and Linux on both x86_64 and arm64. FreeBSD and OpenBSD install it through their package managers. On Android, Termux offers a Neovim package."},{"question":"How does Neovim differ from Vim?","answer":"Neovim keeps Vim's editing model and Vimscript v1, and adds first-class Lua, LSP, Tree-sitter and an RPC API. Its charter lists supporting Vim9script as a non-goal."},{"question":"Does Neovim have a Vietnamese interface?","answer":"Partly. Neovim's source ships a Vietnamese translation of editor messages (vi.po), alongside 25+ other languages. The official documentation (:help) is English-only."}]},"disclosure":{"sponsored":false,"affiliateLink":false,"note":{}},"citation":{"publisher":"AppDuo","author":"AppDuo Editorial Team","title":"Neovim review","url":"https://app-duo.com/apps/neovim","dateModified":"2026-11-11"},"sources":[{"id":"s1","label":"Official website","url":"https://neovim.io/","kind":"official","checkedAt":"2026-11-11"},{"id":"s2","label":"Official charter","url":"https://neovim.io/charter/","kind":"official","checkedAt":"2026-11-11"},{"id":"s3","label":"Official sponsors page","url":"https://neovim.io/sponsors/","kind":"official","checkedAt":"2026-11-11"},{"id":"s4","label":"Official news page","url":"https://neovim.io/news/","kind":"official","checkedAt":"2026-11-11"},{"id":"s5","label":"GitHub repository","url":"https://github.com/neovim/neovim","kind":"official","checkedAt":"2026-11-11"},{"id":"s6","label":"GitHub license file","url":"https://github.com/neovim/neovim/blob/master/LICENSE.txt","kind":"official","checkedAt":"2026-11-11"},{"id":"s7","label":"GitHub install guide","url":"https://github.com/neovim/neovim/blob/master/INSTALL.md","kind":"official","checkedAt":"2026-11-11"},{"id":"s8","label":"GitHub releases","url":"https://github.com/neovim/neovim/releases","kind":"official","checkedAt":"2026-11-11"},{"id":"s9","label":"Wikipedia: Neovim","url":"https://en.wikipedia.org/wiki/Neovim","kind":"community","checkedAt":"2026-11-11"},{"id":"s10","label":"The Register (2019-06-12)","url":"https://www.theregister.com/2019/06/12/vim_remote_command_execution_flaw/","kind":"press","checkedAt":"2026-11-11"},{"id":"s11","label":"Official news archive","url":"https://neovim.io/news/archive/","kind":"official","checkedAt":"2026-11-11"},{"id":"s12","label":"GitHub security advisory GHSA-6f9m-hj8h-xjgj","url":"https://github.com/neovim/neovim/security/advisories/GHSA-6f9m-hj8h-xjgj","kind":"official","checkedAt":"2026-11-11"},{"id":"s13","label":"GitHub message translations (src/nvim/po)","url":"https://github.com/neovim/neovim/tree/master/src/nvim/po","kind":"official","checkedAt":"2026-11-11"}]}