-- ============================================================================ -- 模糊搜索 (telescope) -- ============================================================================ return { { "nvim-telescope/telescope.nvim", branch = "0.1.x", dependencies = { "nvim-lua/plenary.nvim", "nvim-telescope/telescope-ui-select.nvim", }, cmd = "Telescope", keys = { { "ff", "Telescope find_files", desc = "查找文件" }, { "fg", "Telescope live_grep", desc = "全局搜索" }, { "fb", "Telescope buffers", desc = "切换缓冲区" }, { "fh", "Telescope help_tags", desc = "帮助文档" }, { "fk", "Telescope keymaps", desc = "查找键位" }, { "fr", "Telescope oldfiles", desc = "最近文件" }, }, -- 启动即加载:ui-select 扩展需要全局接管 vim.ui.select, -- 懒加载会导致未触发 :Telescope 时(如 rr)回退到原生 UI lazy = false, opts = { defaults = { prompt_prefix = " > ", selection_caret = " > ", layout_strategy = "flex", }, }, config = function(_, opts) local telescope = require("telescope") -- extensions 需要 require telescope.themes,必须在 config 里构造 opts.extensions = { ["ui-select"] = { require("telescope.themes").get_dropdown({}), }, } telescope.setup(opts) -- 用 pcall 保护,避免 ui-select 扩展未安装时崩溃 pcall(telescope.load_extension, "ui-select") end, }, }