# neovim-config **Repository Path**: solooo/neovim-config ## Basic Information - **Project Name**: neovim-config - **Description**: neovim config - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-02 - **Last Updated**: 2025-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # neovim 配置文件 ## 使用 ```sh git clone https://gitee.com/solooo/neovim-config.git ~/.config/nvim ``` ## 安装neovim The Releases page provides pre-built binaries for Linux systems. ```sh curl -Lo /opt/nvim.appimage https://github.com/neovim/neovim/releases/download/v0.11.0/nvim-linux-x86_64.appimage sudo ln -s /usr/local/bin/nvim /opt/nvim.appimage ``` ## 依赖插件 ```sh # 文件搜索 sudo apt install -y fzf # pylsp 需要,其他语言lsp都需要其对应的开发环境, 如 go, nodejs 等 sudo apt install -y python3-venv ``` ## neovim 配置 配置参考 https://martinlwx.github.io/zh-cn/config-neovim-from-scratch/ Nvim 的配置目录在 `~/.config/nvim` 下。在 Linux/Mac 系统上,Nvim 会默认读取 `~/.config/nvim/init.lua` 文件 建议目录 ```sh nvim ├── init.lua └── lua ├── colorscheme.lua ├── config │ └── nvim-cmp.lua ├── keymaps.lua ├── lsp.lua ├── options.lua └── plugins.lua ``` **解释如下** - init.lua 为 Nvim 配置的 Entry point,我们主要用来导入其他 *.lua 文件 - colorscheme.lua 配置主题 - keymaps.lua 配置按键映射 - lsp.lua 配置 LSP - options.lua 配置选项 - plugins.lua 配置插件 - config 用于存放各种插件自身的配置,文件名为插件的名字,这样比较好找。这里的 nvim-cmp.lua 就是 nvim-cmp 插件的配置文件 - lua 目录。当我们在 Lua 里面调用 require 加载模块(文件)的时候,它会自动在 lua 文件夹里面进行搜索 - 将路径分隔符从 / 替换为 .,然后去掉 .lua 后缀就得到了 require 的参数格式 - 比如要导入上面的 nvim-cmp.lua 文件,可以用 require('config.nvim-cmp') ### 选项配置 主要用到的就是 vim.g、vim.opt、vim.cmd 等,我制造了一个快速参照对比的表格 | In Vim | In Nvim | Note | | --------------- | ----------------------- | ---------------------------- | | let g:foo = bar | vim.g.foo = bar | | set foo = bar | vim.opt.foo = bar | set foo = vim.opt.foo = true | | some_vimscript | vim.cmd(some_vimscript) | ### 常用插件和命令 - 插件管理器 [lazy.nvim](https://github.com/folke/lazy.nvim) - 命令 `:Lazy` 查看插件列表 - 自动补全插件 [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) - LSP插件 [mason.nvim](https://github.com/williamboman/mason.nvim) 和 [mason-lspconfig.nvim](https://github.com/williamboman/mason-lspconfig.nvim) - 命令 `:Mason` 查看插件安装情况 - 每个 LSP 都存在自己可以配置的选项,你可以自己去对应 LSP 的 GitHub 仓库查阅更多信息。如果要用默认配置的话,基本上每一个新的语言都只需要设置 `on_attach = on_attach` - 文件管理插件 [nvim-tree.lua](https://github.com/nvim-tree/nvim-tree.lua) - go 开发插件 [go.nvim](https://github.com/ray-x/go.nvim) - fzf-lua 文件搜索插件 [fzf-lua](https://github.com/ibhagwan/fzf-lua) ### 快捷键 - `F3` :NvimTreeToggle 目录树 - `Ctrl`+`p` :Fzflua files 查找文件 - `ctrl`+`f` :Fzflua grep_project 搜索项目