neovim configuration using rocks.nvim plugin manager
1local fzf_lua = require("fzf-lua")
2
3fzf_lua.setup({
4 defaults = {
5 file_icons = false,
6 },
7 winopts = {
8 fullscreen = true,
9 preview = {
10 layout = "vertical",
11 vertical = "up:75%",
12 scrollbar = false,
13 },
14 },
15 keymap = {
16 builtin = {
17 true,
18 ["<C-f>"] = "preview-page-down",
19 ["<C-b>"] = "preview-page-up",
20 },
21 fzf = {
22 ["ctrl-l"] = "toggle-all",
23 },
24 },
25})
26
27local function find_dirs(opts)
28 opts = opts or {}
29 opts.prompt = "Directories> "
30 opts.fn_transform = function(x)
31 return fzf_lua.utils.ansi_codes.magenta(x)
32 end
33 opts.actions = {
34 ["default"] = function(selected)
35 vim.cmd.edit(selected[1])
36 end,
37 }
38 fzf_lua.fzf_exec("fd --type d", opts)
39end
40
41vim.keymap.set("n", "<f1>", "<cmd>FzfLua helptags<cr>")
42vim.keymap.set("n", "<leader>p", "<cmd>FzfLua<cr>")
43vim.keymap.set("n", "<leader>,", "<cmd>FzfLua buffers<cr>")
44vim.keymap.set("n", "<leader>e", "<cmd>FzfLua files<cr>")
45vim.keymap.set("n", "<leader>ff", "<cmd>FzfLua files<cr>")
46vim.keymap.set("n", "<leader>fo", "<cmd>FzfLua oldfiles<cr>")
47vim.keymap.set("n", "<leader>fd", find_dirs)
48vim.keymap.set("n", "<leader>sf", "<cmd>FzfLua files<cr>")
49vim.keymap.set("n", "<leader>sg", "<cmd>FzfLua live_grep<cr>")
50vim.keymap.set("n", "<leader>sk", "<cmd>FzfLua keymaps<cr>")
51vim.keymap.set("n", "<leader>sh", "<cmd>FzfLua highlights<cr>")
52vim.keymap.set("n", "<leader>gs", "<cmd>FzfLua git_status<cr>")
53vim.keymap.set("n", "<leader>gl", "<cmd>FzfLua git_commits<cr>")
54vim.api.nvim_create_autocmd("LspAttach", {
55 group = vim.api.nvim_create_augroup("user.lspattach.fzf", { clear = false }),
56 callback = function(ev)
57 vim.keymap.set("n", "gr/", "<cmd>FzfLua lsp_references<cr>", { buffer = ev.buf })
58 end
59})