vim.opt.expandtab = true vim.opt.tabstop = 2 vim.opt.shiftwidth = 2 vim.opt.virtualedit = 'block' -- vim.opt.inccommand = "split" vim.opt.termguicolors = true vim.api.nvim_exec2( [[ function! s:ZoomToggle() abort if exists('t:zoomed') && t:zoomed execute t:zoom_winrestcmd let t:zoomed = 0 else let t:zoom_winrestcmd = winrestcmd() resize vertical resize let t:zoomed = 1 endif endfunction command! ZoomToggle call s:ZoomToggle() ]], { output = false } ) vim.keymap.set('n', ',h', [[ (&hls && v:hlsearch ? ':nohls' : ':set hls')."\n"]], { silent = true, expr = true, desc = 'toggles highlighting' }) vim.keymap.set('n', ';', ':', { noremap = true, desc = 'Command mode' }) vim.keymap.set('n', "'", '`', { noremap = true, desc = 'Mark character' }) vim.keymap.set('n', '`', "'", { noremap = true, desc = 'Mark line' }) vim.keymap.set('n', '', 'ZoomToggle', { noremap = true, desc = 'Zoom Toggle' }) vim.keymap.set('i', 'df', '', { noremap = true, desc = 'ESC' }) vim.keymap.set('n', '', 'o', { noremap = true, desc = 'ESC' }) vim.keymap.set('n', 'L', 'bn', { noremap = true, desc = 'buffer next' }) vim.keymap.set('n', 'H', 'bp', { noremap = true, desc = 'buffer previous' }) vim.keymap.set('n', ',n', 'Neotree toggle', { noremap = true, desc = 'Tree Toggle' }) vim.keymap.set('n', ',N', 'Neotree reveal left', { noremap = true, desc = 'Follow File Toggle' }) vim.keymap.set('n', 'w', ':w', { noremap = true, desc = 'Save file' }) vim.keymap.set('i', '', vim.lsp.buf.signature_help, { noremap = true, desc = 'Signature Help' }) vim.keymap.set('n', 'ff', vim.lsp.buf.format, { noremap = true, desc = 'LSP format' }) vim.api.nvim_set_keymap('n', 'yr', ":let @+=expand('%:.%:t')", { noremap = true, silent = true, desc = 'Copy Relative Path' }) vim.api.nvim_set_keymap('n', 'ya', ":let @+=expand('%:P%:t')", { noremap = true, silent = true, desc = 'Copy Absolute Path' }) vim.g.diagnostics_active = true function _G.toggle_diagnostics() if vim.g.diagnostics_active then vim.g.diagnostics_active = false vim.diagnostic.config { virtual_text = false } else vim.g.diagnostics_active = true vim.diagnostic.config { virtual_text = true } end end vim.api.nvim_set_keymap('n', 'uv', ':call v:lua.toggle_diagnostics()', { noremap = true, silent = true, desc = 'Toggle diagnostic text' })