-- bindings local function invert_hl () vim.opt.hlsearch = not vim.opt.hlsearch._value end -- Normal mode vim.keymap.set('n', 'l', 'l') vim.keymap.set('n', 'h', 'h') vim.keymap.set('n', 'j', 'j') vim.keymap.set('n', 'k', 'k') vim.keymap.set('n', 'sv', ':source $MYVIMRC') vim.keymap.set('n', 'ev', ':edit $MYVIMRC') vim.keymap.set('n', 'n', invert_hl) vim.keymap.set('n', '.', ':bnext') vim.keymap.set('n', ',', ':bprevious') -- Insert mode vim.keymap.set('i', 'jk', '') -- Terminal mode vim.keymap.set('t', ', '') -- 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', '#', ':normal 0i#', { 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', '//', ':normal 0i//', { 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', '/*', '``>i*/', { 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" })