-- === outline倧纲 === if vim.g.vscode then return end local P = { name = "outline.nvim", } vim.keymap.set({ "n", "x" }, "v", function() PackUtils.load(P, function() require("outline").setup({ outline_window = { position = "left", width = 20, }, keymaps = { show_help = "?", close = { "", "q" }, -- Jump to symbol under cursor. -- It can auto close the outline window when triggered, see -- 'auto_close' option above. goto_location = "", -- Jump to symbol under cursor but keep focus on outline window. peek_location = "o", -- Visit location in code and close outline immediately goto_and_close = "", -- Change cursor position of outline window to match current location in code. -- 'Opposite' of goto/peek_location. restore_location = "", -- Open LSP/provider-dependent symbol hover information hover_symbol = "", -- Preview location code of the symbol under cursor toggle_preview = "K", rename_symbol = "r", code_actions = "a", -- These fold actions are collapsing tree nodes, not code folding fold = "n", unfold = "i", fold_toggle = "", -- Toggle folds for all nodes. -- If at least one node is folded, this action will fold all nodes. -- If all nodes are folded, this action will unfold all nodes. fold_toggle_all = "", fold_all = "N", unfold_all = "I", fold_reset = "R", -- Move down/up by one line and peek_location immediately. -- You can also use outline_window.auto_jump=true to do this for any -- j/k//. down_and_jump = "", up_and_jump = "", }, }) end) vim.cmd("Outline") end, { desc = "Toggle outline" })