Files
neovim-configuration/lua/keybindings.lua
Sascha Lüdecke 1e98df6cc3 Reformatted code after changing indent width to 2, TODO highlighting
- set all indent widths from 4 to 2
- added plugin to highlight TODO markers, can also be searched
  <leader>ft
2024-09-19 21:48:06 +02:00

46 lines
1.7 KiB
Lua

-- Setup fzf-lua keybindings
local fzf = require('fzf-lua')
vim.keymap.set('n', '<leader>ff', fzf.files, { desc = "Find file" })
vim.keymap.set('n', '<leader>fs', fzf.blines, { desc = "Search buffer" })
vim.keymap.set('n', '<leader>fg', fzf.live_grep, { desc = "Grep" })
vim.keymap.set('n', '<leader>fG', fzf.grep_cword, { desc = "Grep word under cursor" })
vim.keymap.set('n', '<leader>fc', fzf.commands, { desc = "Commands" })
vim.keymap.set('n', '<leader>fm', fzf.manpages, { desc = "Manpages" })
vim.keymap.set('n', '<leader>b', fzf.buffers, { desc = "Buffers" })
vim.keymap.set('n', '<leader>ft', ":TodoFzfLua<CR>", { desc = "Todos" })
-- use fzf buffer lines as default search
vim.keymap.set('n', '/', fzf.blines, { desc = "Search buffer" })
vim.keymap.set('n', 'z=', fzf.spell_suggest, { desc = "Spelling suggestions" })
-- open file manager and git
vim.keymap.set('n', '<leader>g', ":Neogit<CR>", { desc = "Neogit" })
vim.keymap.set('n', '<leader>T', ":Neotree reveal<CR>", { desc = "File Manager" })
--
-- configure workspaces
-- also add a custom picker to fzf
--
local workspaces = require('workspaces')
workspaces_fzf_picker = function(opts)
local fzf_lua = require('fzf-lua')
opts = opts or {}
opts.prompt = "Workspaces> "
opts.actions = {
['default'] = function(selected)
workspaces.open(selected[1])
end
}
fzf_lua.fzf_exec(function(fzf_cb)
-- NOP
local ws = workspaces.get()
ws = ws or {}
for i = 1, #ws do
fzf_cb(ws[i].name)
end
fzf_cb() -- EOF
end, opts)
end
vim.keymap.set('n', '<leader>w', workspaces_fzf_picker, { desc = "Workspaces" } )