🤠
lazyvimインストール エラー解決記録
lazyvimとは、lazyな人のためのvimの設定パッケージ。
lazyvimをインストールし、その過程で解決したエラーと、設定について記録する。
lazyといえど、めんどくさい設定作業はわりとあった。
lazyvimをインストール
インストール後、ビルド時、masonでエラー
ビルド時、masonでエラーが発生
issue
リリースノート
→2.0.0で破壊的な変更をしたらしいので、バージョン固定で解決lua/plugin/mason.lua
return {
{ "mason-org/mason.nvim", version = "^1.0.0" }, -- 2.0.0で破壊的変更が入ったため,v1.x に固定
}
lua/plugin/mason-lspconfig.lua
return {
{ "mason-org/mason-lspconfig.nvim", version = "^1.0.0" }, -- 2.0.0で破壊的変更が入ったため,v1.x に固定
}
再起動
rm -rf ~/.local/share/nvim # プラグインを全削除
rm -rf ~/.local/state/nvim # キャッシュ削除
nvim # 再起動後にプラグインが自動インストールされる
入れてよかったプラグイン
supermaven
copilotよりこっちの方が使いやすい。
lazyvimのextrasに入っており、チェックを入れるだけで、インストールできる。
インストールしたら、自動的にsupermavenのサイトの登録動線にリダイレクトしてくれる。
avante
vimをcursor化するプラグイン
僕はdeepseekをモデルに使ってる。(安いから)
lua/plugins/avante.lua
return {
{
"yetone/avante.nvim",
...
opts = {
provider = "deepseek",
vendors = {
deepseek = {
__inherited_from = "openai",
api_key_name = "****", -- ここはzshrcなどに環境変数を定義して、読み込むと良き
endpoint = "https://api.deepseek.com",
model = "deepseek-coder",
},
},
-- tab押した時、windowスイッチするデフォルトの挙動を無効化
mappings = {
--- @class AvanteConflictMappings
sidebar = {
switch_windows = "<Nop>",
reverse_switch_windows = "<Nop>",
},
},
},
...
}
conform
formatterプラグイン
一応lazyvimのextraもあるけど、保存時自動フォーマットを無効化したかったので、自前で入れた。
最初はconform.nvimのformat_on_saveにfalse入れるだけでいけるかと思ったけど、LazyVim 側が BufWritePre
で conform を内部的に呼んでいるため、format_on_save = false
だけでは無効化されない。autocmd
のグループごと消す必要がある。(:autocmd BufWritePreするとわかる)
lua/plugins/conform.lua
return {
"stevearc/conform.nvim",
...
keys = {
{
"<leader>cf",
function()
require("conform").format({ async = true })
end,
desc = "Format file",
},
},
-- LazyVim の保存時自動フォーマットを無効化
init = function()
vim.api.nvim_clear_autocmds({
group = vim.api.nvim_create_augroup("LazyFormat", { clear = false }),
})
end,
opts = {
format_on_save = false,
formatters_by_ft = {
lua = { "stylua" },
sh = { "shfmt" },
...
},
},
}
Discussion