neovim
Vim-fork专注于可扩展性和可用性
Neovim是一个旨在积极重构Vim的项目,目的是:
- 简化维护并鼓励贡献
- 拆分多个开发人员之间的工作
- 无需修改核心即可启用高级UI
- 最大化可扩展性
特征
- 现代GUI
- 来自任何语言的API访问,包括C / C ++,C#,Clojure,D,Elixir,Go,Haskell,Java,JavaScript / Node.js,Julia,Lisp,Lua,Perl,Python,Racket,Ruby,Rust
- 嵌入式,可编写脚本的终端仿真器
- 异步作业控制
- 多个编辑器实例之间的共享数据(shada)
- XDG基目录支持
- 兼容大多数Vim插件,包括Ruby和Python插件
从包安装
可以在github“ 版本”页面上找到适用于Windows,macOS和Linux的预构建软件包 。
托管软件包包括Homebrew,Debian,Ubuntu,Fedora,Arch Linux, Gentoo等等!
从源代码安装
构建是基于CMake的,但提供Makefile是为了方便。
make CMAKE_BUILD_TYPE=RelWithDebInfosudo make install
要安装到非默认位置:
make CMAKE_INSTALL_PREFIX=/full/path/make install
要跳过bundled(third-party/*)依赖项:
- 使用包管理器安装依赖项。
sudo apt install gperf luajit luarocks libuv1-dev libluajit-5.1-dev libunibilium-dev libmsgpack-dev libtermkey-dev libvterm-devsudo luarocks build mpacksudo luarocks build lpegsudo luarocks build inspect
- 建立USE_BUNDLED=OFF:
make CMAKE_BUILD_TYPE=RelWithDebInfo USE_BUNDLED=OFFsudo make install
要检查构建,这些CMake功能非常有用:
- cmake --build build --target help 列出所有构建目标。
- build/CMakeCache.txt(或cmake -LAH build/)包含所有CMake变量的已解析值。
- build/compile_commands.json 显示每个翻译单元的完整编译器调用。
项目布局
├─ ci/ build automation├─ cmake/ build scripts├─ runtime/ user plugins/docs├─ src/nvim/ application source code (see src/nvim/README.md)│ ├─ api/ API subsystem│ ├─ eval/ VimL 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├─ third-party/ CMake subproject to build dependencies└─ test/ tests (see test/README.md)
您知道哪些好用的超轻编辑器,欢迎评论分享,共同探讨学习
如果觉得文章能够对您有所帮助,可以关注我,你的支持会鼓励我不断分享更多更好的优质文章。