return { { 'ibhagwan/fzf-lua', event = 'VeryLazy', -- optional for icon support dependencies = { 'nvim-tree/nvim-web-devicons' }, -- or if using mini.icons/mini.nvim -- dependencies = { "echasnovski/mini.icons" }, opts = {}, config = function() local fzf = require 'fzf-lua' vim.keymap.set('n', 'sh', fzf.helptags, { desc = '[S]earch [H]elp' }) vim.keymap.set('n', 'sk', fzf.keymaps, { desc = '[S]earch [K]eymaps' }) vim.keymap.set('n', 'sf', fzf.files, { desc = '[S]earch [F]iles' }) vim.keymap.set('n', 'ss', fzf.builtin, { desc = '[S]earch [S]elect fzf' }) vim.keymap.set('n', 'sw', fzf.grep_cword, { desc = '[S]earch current [W]ord' }) vim.keymap.set('n', 'sg', fzf.live_grep_native, { desc = '[S]earch by [G]rep' }) vim.keymap.set('n', 'sd', fzf.diagnostics_document, { desc = '[S]earch [D]iagnostics' }) vim.keymap.set('n', 'sD', fzf.diagnostics_workspace, { desc = '[S]earch workspace [D]iagnostics' }) vim.keymap.set('n', 'sr', fzf.resume, { desc = '[S]earch [R]esume' }) vim.keymap.set('n', 'sl', fzf.lsp_finder, { desc = '[S]earch [L]SP' }) vim.keymap.set('n', 's.', fzf.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' }) vim.keymap.set('n', '', fzf.buffers, { desc = '[ ] Find existing buffers' }) vim.keymap.set('n', 'sn', function() fzf.files { cwd = '~/.config/nvim' } end, { desc = '[S]earch [N]eovim files' }) end, }, }