Skip to content

Latest commit

 

History

History
286 lines (207 loc) · 14.3 KB

README.zh.md

File metadata and controls

286 lines (207 loc) · 14.3 KB

One.nvim

用 Lua 编写的 Neovim 一体化配置框架。易配置,可扩展。

English | 中文

特性

截图

点击展开/折叠

Dashboard

dashboard.png

UI

UI.png

UI-2.png

隐藏 cmdline

UI-noice.png

如果你不喜欢隐藏 cmdline,可以禁用 noice.nvim 插件,回归经典 UI。只要设置配置

require('one').setup { plugins = { 'noice', disable = true } }

大纲

outline.png

<space>o 打开大纲。

文件列表

finder.png

<space>f 打开文件列表。

快捷键列表

keymaps.png

<space>k 打开快捷键列表。

命令列表

cmd-finder.png

<space>p 打开命令列表。

诊断列表

diagnostic.png

<space>d<space>D 打开诊断列表。详见 Diagnostic 快捷键

补全

completion.png

函数签名补全

completion-function-args.png

更新

你可以通过插件管理器更新 one.nvim。或命令 :OneUpdate one:lua one.update('one') 也可更新。

如果更新后遇到问题请提交 issue

配置

require('one').setup {}

所有配置项都是可选的。你可以覆盖默认配置。 请看用户配置

插件管理器

注意: one.nvim 会在启动时自动安装插件管理器。所以用户请勿用自己的插件管理器去安装 one.nvim。

选择你喜欢的插件管理器,目前提供 lazy (默认),vim-plugpackerlocal

require('one').setup {
  config = {
    pluginManager = { use = 'lazy' }, -- 'lazy' or 'vim-plug' or 'packer' or 'local'
  },
}
lazy vim-plug packer
插件目录 {DATA_DIR}/plugins {DATA_DIR}/plugins {DATA_DIR}/site/pack/user/start/packer.nvim
默认配置文件 lua/one/config/lazy.lua lua/one/config/vim-plug.lua lua/one/config/packer.lua

{DATA_DIR} 的值见 :lua print(vim.fn.stdpath('data'))

当你从 vim-plug 或者 lazy 切换到 packer,就需要重装插件。详见初始化流程。

config.pluginManager.use = 'local',插件管理器只能加载本地插件,无法从远端下载安装的插件。

插件

所有插件都可以被关闭,覆盖默认配置项,或者替换成你喜欢的插件。自定义配置和扩展非常方便。

插件的定义和使用,详见./doc/plugin.md

你甚至可以设置 onlyPlugins = {} 来一键禁用所有插件(不禁用插件管理器)。详见 Debug - Disable other plugins

你可以调用 :OneShowPlugins 查看加载的和未加载的插件。

API

直接看代码

项目文件结构

.
├── doc/                     // Documents
├── lua/
│   └── one/
│       ├── async.lua        // async library
│       ├── config/          // Keymaps
│       │   ├── colors.lua   // Default color config
│       │   ├── default.lua  // Default config
│       │   ├── packer.lua   // packer.nvim default config
│       │   ├── symbol.lua   // symbols
│       │   └── vim-plug.lua // vim-plug default config
│       ├── config.lua       // Config loader
│       ├── consts.lua       // Constants
│       ├── filetype.lua     // FileType autocmd
│       ├── one.lua          // The one singleton
│       ├── init.lua         // The lua required entry point
│       ├── plugins.lua      // Plugin loading list
│       ├── util.lua         // Utility functions
│       ├── util_spec.lua    // Unit test for util.lua
│       ├── keymap/          // Keymaps
│       ├── plugins/         // Available plugins written in lua
│       │   └── themes/      // Color schemas
│       └── plugin-manager/
│           ├── init.lua     // Plugin Manager
│           ├── lazy.lua     // Wrapper for lazy.nvim
│           ├── local.lua    // Only load local files
│           ├── vim-plug.lua // Wrapper for vim-plug
│           └── packer.lua   // Wrapper for packer.nvim
└── scripts/                 // scripts for building project

提建议,修 Bug,做贡献

在创建新的 Issue/Discussion/PR,以及发表评论之前,请先阅读 ./CONTRIBUTING.zh.md

版权声明

Copyright 2016-2024 ADoyle (adoyle.h@gmail.com). Some Rights Reserved. The project is licensed under the BSD 3-clause License.

Read the LICENSE file for the specific language governing permissions and limitations under the License.

Read the NOTICE file distributed with this work for additional information regarding copyright ownership.

其他项目

我创建的其他 nvim 项目