“folke/trouble.nvim”

-- 问题处理
{
	"folke/trouble.nvim",
	opts = {}, -- for default options, refer to the configuration section for custom setup.
	cmd = "Trouble",
	keys = {
		{
			"<leader>xx",
			"<cmd>Trouble diagnostics toggle<cr>",
			desc = "Diagnostics (Trouble)",
		},
		{
			"<leader>xX",
			"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
			desc = "Buffer Diagnostics (Trouble)",
		},
		{
			"<leader>cs",
			"<cmd>Trouble symbols toggle focus=false<cr>",
			desc = "Symbols (Trouble)",
		},
		{
			"<leader>cl",
			"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
			desc = "LSP Definitions / references / ... (Trouble)",
		},
		{
			"<leader>xL",
			"<cmd>Trouble loclist toggle<cr>",
			desc = "Location List (Trouble)",
		},
		{
			"<leader>xQ",
			"<cmd>Trouble qflist toggle<cr>",
			desc = "Quickfix List (Trouble)",
		},
	},
},
 

问题

trouble.nvim 会直接操作 diagnostics sign 导致 neovim 闪退。

在 lazyvim 中最好还是禁用了。

-- ~/.config/nvim/lua/plugins/disable.lua
return {
  { "folke/trouble.nvim", enabled = false },
}

接着绑定快捷键直接查看错误:

-- ~/.config/nvim/lua/config/keymaps.lua
vim.keymap.set("n", "<leader>xx", vim.diagnostic.setloclist, {
  desc = "本文件错误",
})
vim.keymap.set("n", "<leader>xX", vim.diagnostic.setqflist, {
  desc = "整个项目错误",
})