-- 用于搜索和快速移动 -- return { { "preservim/nerdtree", keys = { { "n", ":NERDTreeFocus", mode = "n", desc = "Nerd Tree Focus" }, { "", ":NERDTree", mode = "n", desc = "Nerd Tree" }, { "", ":NERDTreeToggle", mode = "n", desc = "Nerd Tree Toggle" }, { "", ":NERDTreeFind", mode = "n", desc = "Nerd Tree Find" }, }, }, { 'nvim-telescope/telescope.nvim', branch = '0.1.x', dependencies = { 'nvim-lua/plenary.nvim', "nvim-tree/nvim-web-devicons", "nvim-telescope/telescope-file-browser.nvim" }, opts = { defaults = { file_ignore_patterns = { "node_modules", ".git" }, layout_strategy = "vertical", }, pickers = { find_files = { hidden = true, } } }, keys = { { "ff", "lua require('telescope.builtin').find_files()", desc = "Find Files" }, { "fg", "lua require('telescope.builtin').live_grep()", desc = "Live Grep" }, { "fb", "lua require('telescope.builtin').buffers()", desc = "Find Buffers" }, { "fh", "lua require('telescope.builtin').help_tags()", desc = "Help Tags" }, { "gf", "Telescope file_browser path=%:p:h", desc = "Open File Under Cursor" }, } }, { "easymotion/vim-easymotion", keys = { -- 所有键位都通过 lazy.nvim 的 keys 字段定义 -- f{char} 跳转到字符(跨窗口) { "f", "(easymotion-overwin-f)", mode = "n", desc = "EasyMotion 跳转字符" }, { "f", "(easymotion-bd-f)", mode = { "x", "o" }, desc = "EasyMotion 跳转字符(可视模式)" }, -- s{char}{char} 跳转到双字符 { "s", "(easymotion-overwin-f2)", mode = "n", desc = "EasyMotion 跳转双字符" }, -- L 跳转行(上下) { "L", "(easymotion-overwin-line)", mode = "n", desc = "EasyMotion 跳转行" }, { "L", "(easymotion-bd-jk)", mode = { "x", "o" }, desc = "EasyMotion 跳转行(可视模式)" }, -- w 跳转单词 { "w", "(easymotion-overwin-w)", mode = "n", desc = "EasyMotion 跳转单词" }, { "w", "(easymotion-bd-w)", mode = { "x", "o" }, desc = "EasyMotion 跳转单词(可视模式)" }, }, init = function() -- 基础配置 vim.g.EasyMotion_do_mapping = 0 -- 禁用默认映射 vim.g.EasyMotion_smartcase = 1 -- 智能大小写 vim.g.EasyMotion_keys = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" -- 跳转标签 end, } }