Skip to content

kickstart.nvim

首先,kickstart.nvim 这个配置版本已经不是我的默认使用版本。

已经事先安装了 Neovim 的默认版本,这里再继续安装另外一个配置,同时记录如何在同一台机器上并行保存多个 Neovim 配置。

What is kickstart.nvim

Not a Neovim distribution, but instead a starting point for your configuration with Lua, in one single init.lua file.

Prerequisites

  • Some basic understanding about Lua
  • :help lua-guide
  • :echo $MYVIMRC

Installation

My default Neovim's configurations are located in path $env:LOCALAPPDATA\nvim\ and there are currently two files:

sh
coc-settings.json
init.vim

This version is named default version.

接下来尝试安装 nvim-kickstart,在 PowerShell 运行如下命令:

sh
git clone https://github.com/nvim-lua/kickstart.nvim.git $env:LOCALAPPDATA\nvim\

出现报错信息:

sh
fatal: destination path 'C:\Users\Alowr\AppData\Local\nvim' already exists and is not an empty directory.

这是因为,当前目录已经安装了一个 Neovim 的默认版本,给定的安装目录不为空,无法再安装另外一个配置版本。

我们可以选择将安装目录的已有配置文件移走备份:

sh
coc-settings.json
init.vim

重新运行 clone 命令,则将 kickstart.nvim 项目克隆至安装目录。

After installation, we can see that total 9 objects have been cloned into the destination location, 4 folders and 5 files.

平行安装多个配置版本

我可以与 kickstart 并行保留我的现有配置吗?

可以!你可以在 PowerShell 使用 $env:NVIM_APPNAME=nvim-NAME 来维护多个配置。例如,你可以在 ~/AppData/Local/nvim-kickstart 中安装 nvim-kickstart 配置,并在 PowerShell 配置文件内创建短命令 kvlv

ps1
# Functions to launch different Neovim configurations in PowerShell
function kv {
  $env:NVIM_APPNAME = "nvim-kickstart"
  nvim
}
function lv {
  $env:NVIM_APPNAME = "nvim-lazyvim"
  nvim
}

保存配置文件,重启 PowerShell,运行 kv 就可以运行 nvim-kickstart 配置版本,运行 lv 就可以运行 nvim-lazyvim 配置版本。

但是需要注意,在运行过上述短命令之后,相当于 PowerShell 在当前 Session 之内修改了环境变量,导致 Neovim 的默认路径已经改变。若要恢复默认的 Neovim 路径,需要重启 PowerShell 才行。

添加选择界面

在 PowerShell 运行 code $PROFILE 打开 PowerShell 配置文件,添加以下代码,以增加选择 Neovim 配置版本的界面:

ps1
# Function to select different Neovim configurations interactively
function nvims {
    $items = @("default", "nvim-lazyvim", "nvim-kickstart")
    $config = $items | fzf --prompt=" Neovim Config  " --height=50% --layout=reverse --border
    if (-not $config) {
        Write-Output "Nothing selected"
        return
    } elseif ($config -eq "default") {
        $env:NVIM_APPNAME = ""
    } else {
        $env:NVIM_APPNAME = $config
    }
    nvim
}

配置选项界面,菜单设置 default、nvim-kickstart、nvim-lazyvim 三个选项。

想要了解更多,参考 NVIM_APPNAME

Reference resources

最近更新