vim-config/lua/plugins/navigation.lua
2025-05-23 00:34:16 +08:00

62 lines
2.9 KiB
Lua

-- 用于搜索和快速移动
--
return {
{
"preservim/nerdtree",
keys = {
{ "<leader>n", ":NERDTreeFocus<CR>", mode = "n", desc = "Nerd Tree Focus" },
{ "<C-n>", ":NERDTree<CR>", mode = "n", desc = "Nerd Tree" },
{ "<C-t>", ":NERDTreeToggle<CR>", mode = "n", desc = "Nerd Tree Toggle" },
{ "<C-s>", ":NERDTreeFind<CR>", 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 = {
{ "<leader>tf", "<cmd>lua require('telescope.builtin').find_files()<cr>", desc = "Find Files" },
{ "<leader>tg", "<cmd>lua require('telescope.builtin').live_grep()<cr>", desc = "Live Grep" },
{ "<leader>tb", "<cmd>lua require('telescope.builtin').buffers()<cr>", desc = "Find Buffers" },
{ "<leader>th", "<cmd>lua require('telescope.builtin').help_tags()<cr>", desc = "Help Tags" },
{ "gf", "<cmd>Telescope file_browser path=%:p:h<cr>", desc = "Open File Under Cursor" },
}
},
{
"easymotion/vim-easymotion",
keys = { -- 所有键位都通过 lazy.nvim 的 keys 字段定义
-- <Leader>f{char} 跳转到字符(跨窗口)
{ "<leader>f", "<Plug>(easymotion-overwin-f)", mode = "n", desc = "EasyMotion 跳转字符" },
{ "<leader>f", "<Plug>(easymotion-bd-f)", mode = { "x", "o" }, desc = "EasyMotion 跳转字符(可视模式)" },
-- s{char}{char} 跳转到双字符
{ "s", "<Plug>(easymotion-overwin-f2)", mode = "n", desc = "EasyMotion 跳转双字符" },
-- <Leader>L 跳转行(上下)
{ "<leader>l", "<Plug>(easymotion-overwin-line)", mode = "n", desc = "EasyMotion 跳转行" },
{ "<leader>l", "<Plug>(easymotion-bd-jk)", mode = { "x", "o" }, desc = "EasyMotion 跳转行(可视模式)" },
-- <Leader>w 跳转单词
{ "<leader>w", "<Plug>(easymotion-overwin-w)", mode = "n", desc = "EasyMotion 跳转单词" },
{ "<leader>w", "<Plug>(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,
}
}