Files
dotfiles/nvim/bindings.lua
Dhanus M Lal 04521bddb2 updated config
2024-07-10 17:00:57 +05:30

67 lines
2.0 KiB
Lua

-- bindings
local function invert_hl ()
vim.opt.hlsearch = not vim.opt.hlsearch._value
end
-- Normal mode
vim.keymap.set('n', '<leader>l', '<c-w>l')
vim.keymap.set('n', '<leader>h', '<c-w>h')
vim.keymap.set('n', '<leader>j', '<c-w>j')
vim.keymap.set('n', '<leader>k', '<c-w>k')
vim.keymap.set('n', '<leader>sv', ':source $MYVIMRC<cr>')
vim.keymap.set('n', '<leader>ev', ':edit $MYVIMRC<cr>')
vim.keymap.set('n', '<leader>n', invert_hl)
-- Insert mode
vim.keymap.set('i', 'jk', '<esc>')
-- Autocorrect
vim.cmd('inoreabbrev paht path')
vim.cmd('inoreabbrev taht that')
vim.cmd('inoreabbrev classificaton classification')
vim.cmd('inoreabbrev compnents components')
vim.cmd('inoreabbrev compnent component')
vim.cmd('inoreabbrev pythone python')
vim.cmd('inoreabbrev smaples samples')
vim.cmd('inoreabbrev sover solver')
vim.cmd('inoreabbrev souce source')
-- Autocmds
local common_group = vim.api.nvim_create_augroup('common', {clear = true})
local spec_group = vim.api.nvim_create_augroup('lang_spec', {clear = true})
vim.api.nvim_create_autocmd("FileType", {
pattern = { "python", "make", "sh", "cmake" },
callback = function(args)
vim.keymap.set('v', '<leader>#', ':normal 0i#<esc>', { buffer = args.buf })
end,
group = 'lang_spec',
desc = "comment multiple lines for python source file"
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { 'c', 'cpp' },
callback = function(args)
vim.keymap.set('v', '<leader>//', ':normal 0i//<esc>', { buffer = args.buf })
end,
group = 'lang_spec',
desc = 'comment multiple lines for c/c++'
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { 'c', 'cpp' },
callback = function(args)
vim.keymap.set('v', '<leader>/*', '<esc>`<i/*<esc>`>i*/<esc>', { buffer = args.buf })
end,
group = 'lang_spec',
desc = 'comment multiple lines for c/c++'
})
vim.api.nvim_create_autocmd('TextYankPost', {
callback = function() vim.highlight.on_yank({ timeout = 1000 }) end,
group = 'common',
desc = "briefly highlight yanked text"
})