Files
vim/after/plugin/keymaps.lua
Thomas Ruoff 70b79e9dc1 🤷
2023-07-11 22:43:14 +02:00

44 lines
1.5 KiB
Lua

vim.keymap.set('i', 'jk', '<Esc>')
vim.keymap.set('t', 'jk', [[<C-\><C-n>]])
-- quick write
vim.keymap.set('n', '<leader>,', '<Cmd>w<CR>', { desc = 'write' })
vim.keymap.set('n', '<leader><', '<Cmd>noautocmd w<CR>', { desc = 'write noautocmd' })
-- quick config
vim.keymap.set('n', '<leader>C', '<Cmd>e $MYVIMRC<CR>', { desc = '[C]onfig' })
-- quick source file
vim.keymap.set('n', '<leader>x', "<Cmd>source %|echo expand('%') 'sourced'<CR>", { desc = 'source buffer' })
vim.keymap.set('v', '<leader>r', [[<ESC>:lua require('my_module').source_visual_selection()<CR>]], { desc = 'source selected', noremap = true, silent = true })
-- git
vim.keymap.set('n', '<leader>gg', '<Cmd>vertical Git<CR>', { desc = '[G]oto [G]it' })
-- buffers
vim.keymap.set('n', '[b', '<Cmd>bprev<CR>', { desc = 'Previous buffer' })
vim.keymap.set('n', ']b', '<Cmd>bnext<CR>', { desc = 'Next buffer' })
-- yank to system clipboard
vim.keymap.set({ 'n', 'v' }, '<leader>y', [["+y]])
vim.keymap.set('n', '<leader>Y', [["+Y]])
vim.keymap.set('n', 'tr', function()
vim.treesitter.inspect_tree()
end, { desc = 'Open treesitter tree for current buffer' })
vim.keymap.set('n', 'lta', function()
local ts_utils = require 'nvim-treesitter.ts_utils'
local node = ts_utils.get_node_at_cursor()
while node ~= nil and node:parent() ~= nil and node:type() ~= 'arrow_function' do
node = node:parent()
end
if node == nil then
return
end
P(node:type())
end, { desc = 'toggle async sourrounding function' })