[[Neovim]]の設定やキャッシュなど環境を普段とは切り替える方法。具体的には `~/.config/nvim` や `~/.local/share/nvim` ではなく別ディレクトリを参照する。
環境変数[[NVIM_APPNAME]]を指定して起動する。
## 設定の作成
`~/.config/another-nvim/init.lua` を作成する。
```lua
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.uv.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({
{
"stevearc/oil.nvim",
keys = {
{ "<Space>o", ":Oil<CR>", silent = true },
},
opts = {
skip_confirm_for_simple_edits = true,
keymaps = {
["<C-s>"] = "actions.select_split",
["<F12>"] = "actions.select_vsplit",
},
view_options = {
show_hidden = true,
},
},
},
})
```
## 起動
以下のように起動する。
```console
NVIM_APPNAME=another-nvim nvim
```
[[lazy.nvim]]が起動して[[oil.nvim]]がインストールされる。
## 確認
各ディレクトリを確認すると、別ディレクトリにファイルが格納されている。
```console
$ ll ~/.config/another-nvim
.rw-r--r-- 628 16 Oct 08:39 init.lua
.rw-r--r-- 186 16 Oct 08:42 lazy-lock.json
```
```console
$ ll ~/.cache/another-nvim
drwxr-xr-x - 16 Oct 08:43 luac
```
```console
$ ll ~/.local/share/another-nvim
drwxr-xr-x - 16 Oct 08:42 lazy
```