目录:
  1. NeoVim-安装
    1. 什么是NeoVim
      1. 环境安装
        1. 安装Neovim
        2. 安装NodeJS及Python2/3环境
        3. 安装语言支持
      2. IDE配置
        1. 安装NvChad
        2. 安装NvChad配置
      3. 初始化
        1. 目录介绍

        NeoVim-安装

        阅读时间:全文 714 字,预估用时 4 分钟
        创作日期:2022-04-16
        文章标签:
        下篇文章:lua的math内置库
         
        BEGIN

        什么是NeoVim

        官方介绍如下:

        Neovim is a refactor, and sometimes redactor, in the tradition of Vim (which itself derives from Stevie). It is not a rewrite but a continuation and extension of Vim. Many clones and derivatives exist, some very clever—but none are Vim. Neovim is built for users who want the good parts of Vim, and more.

        Neovim是Vim的延续和扩展,通过对Vim的核心部分重构,保留Vim的优秀部分,用户使用其实是没有什么感知的,底层架构做了较大调整,如使用Lua替代Vimscript等

        对于忍受不了vscode中vim插件阉割版功能不全,又嫌配置原生Vim麻烦的同学,Neovim确实是一个非常不错的选择,使用Lua比使用Vimscript体验好太多了,尤其是加了cmp、lsp插件的Neovim省去好多麻烦,比如愿Vim要想实现代码提示得自己编译COC,然后会出现很多很麻烦的事情,当然两年前的Neovim也是要自己编译COC的,现在不需要了。

        环境安装

        安装Neovim

        官方安装文档:https://github.com/neovim/neovim/wiki/Installing-Neovim 🔗

        安装稳定版:brew install neovim

        安装开发版:brew install --HEAD neovim

        安装NodeJS及Python2/3环境

        可以找官方文档,这里不在复述

        安装语言支持

        Python支持:python3 -m pip install pynvim

        Node支持:npm i -g neovim

        IDE配置

        安装NvChad

        NvChad相当于一个Neovim的ui框架,集成了一些基础的配置,如cmp、lsp、tree、telescope等

        NvChad 🔗

        执行命令安装:git clone https://github.com/NvChad/NvChad ~/.config/nvim --depth 1

        安装NvChad配置

        NvChad的配置使用自己维护的nvchad-custom

        NvChad配置 🔗

        执行命令安装:git clone https://github.com/pysunday/nvchad-custom ~/.config/lua/custom --depth 1

        初始化

        以上步骤完成后则Neovim环境已经全部弄好了,此时执行nvim进入应用不会和vim没啥区别,因为我们的插件还没有安装上,只有vim.opt生效了,执行PackerSync安装插件

        目录介绍

        执行完安装步骤,我们的~/.config/nvim目录下存在如下文件,之后需要配置Neovim就只需要修改lua/custom目录下文件即可

        .
        ├── LICENSE
        ├── examples
        │   ├── chadrc.lua
        │   └── init.lua
        ├── init.lua
        ├── lua
        │   ├── core
        │   │   ├── default_config.lua
        │   │   ├── init.lua
        │   │   ├── lazy_load.lua
        │   │   ├── mappings.lua
        │   │   ├── options.lua
        │   │   ├── packer.lua
        │   │   └── utils.lua
        │   ├── custom
        │   │   ├── autocmds.lua              # autocmd事件钩子自定义绑定的事件
        │   │   ├── chadrc.lua                # 个性化配置文件,这个文件会和`lua/core/default_config.lua`文件中的内容合并
        │   │   ├── highlights.lua
        │   │   ├── init.lua                  # 入口文件
        │   │   ├── mappings.lua
        │   │   ├── override.lua
        │   │   └── plugins                   # 自定义插件
        │   │       ├── alpha.lua
        │   │       ├── init.lua
        │   │       ├── lspconfig.lua
        │   │       └── null-ls.lua
        │   └── plugins
        │       ├── configs
        │       │   ├── alpha.lua
        │       │   ├── cmp.lua
        │       │   ├── lsp_installer.lua
        │       │   ├── lspconfig.lua
        │       │   ├── nvchad_ui.lua
        │       │   ├── nvimtree.lua
        │       │   ├── nvterm.lua
        │       │   ├── others.lua
        │       │   ├── telescope.lua
        │       │   ├── treesitter.lua
        │       │   └── whichkey.lua
        │       └── init.lua
        └── plugin
            └── packer_compiled.lua

        之后我们再仔细介绍下具体怎么配置的

        FINISH
        下篇文章:lua的math内置库

        随机文章
        人生倒计时
        default