neovim/neovim

GitHub: neovim/neovim

Neovim 是 Vim 的现代化重构版本,专注于可扩展性和易用性,通过内置 LSP、异步架构和 Lua 脚本支持打造面向开发者的下一代终端编辑体验。

Stars: 98096 | Forks: 6715

Neovim 文档 | 聊天

[![Coverity 扫描分析](https://scan.coverity.com/projects/2227/badge.svg)](https://scan.coverity.com/projects/2227) [![软件包](https://repology.org/badge/tiny-repos/neovim.svg)](https://repology.org/metapackage/neovim) [![Debian CI](https://badges.debian.net/badges/debian/testing/neovim/version.svg)](https://buildd.debian.org/neovim) [![下载量](https://img.shields.io/github/downloads/neovim/neovim/total.svg?maxAge=2592001)](https://github.com/neovim/neovim/releases/) Neovim 是一个旨在对 [Vim](https://www.vim.org/) 进行深度重构的项目,其目标如下: - 简化维护并鼓励[贡献](CONTRIBUTING.md) - 在多个开发者之间分工协作 - 无需修改核心即可启用[高级 UI] - 最大化[可扩展性](https://neovim.io/doc/user/api-ui-events.html#api-ui-events) 有关更多信息,请参阅 [Introduction](https://github.com/neovim/neovim/wiki/Introduction) wiki 页面和 [Roadmap](路线图)。 ## 功能特性 - 现代化的 [GUI](https://github.com/neovim/neovim/wiki/Related-projects#gui) - 支持任何语言的 [API 访问](https://github.com/neovim/neovim/wiki/Related-projects#api-clients),包括 C/C++、C#、Clojure、D、Elixir、Go、Haskell、Java/Kotlin、JavaScript/Node.js、Julia、Lisp、Lua、Perl、Python、Racket、Ruby、Rust - 内置、可编写脚本的[终端模拟器](https://neovim.io/doc/user/terminal.html) - 异步[任务控制](https://github.com/neovim/neovim/pull/2247) - 多个编辑器实例之间[共享数据 (shada)](https://github.com/neovim/neovim/pull/2506) - 支持 [XDG 基础目录](https://github.com/neovim/neovim/pull/3470) - 兼容大多数 Vim 插件,包括 Ruby 和 Python 插件 完整功能列表请参阅 [`:help nvim-features`][nvim-features],最新版本的重要更改请参阅 [`:help news`][nvim-news]! ## 通过软件包安装 Windows、macOS 和 Linux 的预编译软件包可在 [Releases](https://github.com/neovim/neovim/releases/) 页面找到。 [托管的软件包] 可在 [Homebrew]、[Debian]、[Ubuntu]、[Fedora]、[Arch Linux]、[Void Linux]、[Gentoo] 等平台中找到! ## 从源码安装 详情请参阅 [BUILD.md](./BUILD.md) 和[支持的平台](https://neovim.io/doc/user/support.html#supported-platforms)。 构建系统基于 CMake,但为了方便起见,也提供了一个 Makefile。 在安装完依赖项后,运行以下命令。 ``` make CMAKE_BUILD_TYPE=RelWithDebInfo sudo make install ``` 要安装到非默认位置: ``` make CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_INSTALL_PREFIX=/full/path/ make install ``` 用于检查构建的 CMake 提示: - `cmake --build build --target help` 列出所有构建目标。 - `build/CMakeCache.txt`(或 `cmake -LAH build/`)包含所有 CMake 变量的解析值。 - `build/compile_commands.json` 显示每个翻译单元的完整编译器调用。 ## 从 Vim 迁移 请参阅 [`:help nvim-from-vim`](https://neovim.io/doc/user/nvim.html#nvim-from-vim) 获取指南。 ## 项目结构 ``` ├─ cmake/ CMake utils ├─ cmake.config/ CMake defines ├─ cmake.deps/ subproject to fetch and build dependencies (optional) ├─ runtime/ plugins and docs ├─ src/nvim/ application source code (see src/nvim/README.md) │ ├─ api/ API subsystem │ ├─ eval/ Vimscript subsystem │ ├─ event/ event-loop subsystem │ ├─ generators/ code generation (pre-compilation) │ ├─ lib/ generic data structures │ ├─ lua/ Lua subsystem │ ├─ msgpack_rpc/ RPC subsystem │ ├─ os/ low-level platform code │ └─ tui/ built-in UI └─ test/ tests (see test/README.md) ``` ## 许可证 自 [b17d96][license-commit] 以来的 Neovim 贡献均采用 Apache 2.0 许可证授权,从 Vim 复制的贡献(由 `vim-patch` 令牌标识)除外。详情请参阅 [LICENSE.txt](./LICENSE.txt)。
标签:API, Bash脚本, DNS解析, GUI, IDE, Lua, Neovim, rizin, Vim, 代码编辑器, 可扩展性, 威胁情报, 开发者工具, 开源项目, 异步编程, 插件开发, 文本编辑器, 终端, 编程工具, 软件开发, 远程代码执行, 重构