local opts = { noremap = true, silent = true } -- greatest remap ever a.nvim_set_keymap("n", "p", "\"_dP", opts) -- open term buffer a.nvim_set_keymap("n", "to", "vw:term", opts) -- esc to go to normal mode in term bufers a.nvim_set_keymap("t", "", "", opts) -- open file viewer a.nvim_set_keymap("n", "fo", ":Ex", opts) a.nvim_set_keymap("n", "fs", ":Sex", opts) a.nvim_set_keymap("n", "fh", ":Hex", opts) a.nvim_set_keymap("n", "fv", ":Vex", opts) -- clear search a.nvim_set_keymap("n", "", ":nohlsearch:echo", opts) -- move selected text a.nvim_set_keymap("v", "", ":m '>+1gv=gv", opts) a.nvim_set_keymap("v", "", ":m '<-2gv=gv", opts) -- keep cursor middle a.nvim_set_keymap("n", "", "mzJ`z", opts) -- when combining lines a.nvim_set_keymap("n", "n", "nzzzv", opts) -- searching a.nvim_set_keymap("n", "N", "Nzzzv", opts) a.nvim_set_keymap("n", "", "zz", opts) -- half page jumping a.nvim_set_keymap("n", "", "zz", opts) -- execute order 111 a.nvim_set_keymap("n", "x", "!chmod +x %", opts) -- add some keybinds to the file view a.nvim_create_autocmd('FileType', { pattern = 'netrw', callback = function() local bind = function(lhs, rhs) vim.keymap.set('n', lhs, rhs, { remap = true, buffer = true }) end bind('h', '-^') -- Go up a directory bind('l', '') -- Go down a directory / open a file bind('.', 'gh') -- Toggle dotfiles bind('P', 'z') -- Close preview window bind('', 'q') -- Close netrw end }) -- plugin related binds -- better indenting a.nvim_set_keymap('i', '', 'lua require("intellitab").indent()', opts) -- open Trouble buffer a.nvim_set_keymap("n", "tt", "TroubleToggle document_diagnostics", opts) a.nvim_set_keymap("n", "td", "TodoTrouble", opts) -- dismiss notifications a.nvim_set_keymap("n", "nd", "", { callback = require('notify').dismiss }) -- resizing splits a.nvim_set_keymap("n", '', "SmartResizeLeft", opts) a.nvim_set_keymap("n", '', "SmartResizeDown", opts) a.nvim_set_keymap("n", '', "SmartResizeUp", opts) a.nvim_set_keymap("n", '', "SmartResizeRight", opts) -- don't blame me pls a.nvim_set_keymap("n", "", [[Gitsigns toggle_current_line_blame]], opts) -- telescope a.nvim_set_keymap('n', 'sf', 'Telescope find_files', opts) a.nvim_set_keymap('n', 'sg', 'Telescope git_commits', opts) a.nvim_set_keymap('n', 'sb', 'Telescope current_buffer_fuzzy_find', opts) a.nvim_set_keymap('n', 'so', 'Telescope oldfiles', opts) a.nvim_set_keymap('n', 'sc', 'Telescope neoclip unnamed', opts) a.nvim_set_keymap('n', 'su', 'Telescope undo', opts) a.nvim_set_keymap('n', 'sd', 'Telescope diagnostics', opts) a.nvim_set_keymap('n', 'sn', 'Telescope notify', opts) -- treesitter a.nvim_set_keymap('n', 'j', 'TSJToggle', opts) -- re-source snippets a.nvim_set_keymap('n', 's', 'source ~/.config/nvim/lua/core/snippets/init.lua', opts) -- hover vim.keymap.set('n', '', require("hover").hover_select, opts) -- lsp diagnostics float a.nvim_set_keymap('n', '', 'lua vim.diagnostic.open_float()', opts) -- essentials a.nvim_set_keymap('n', 'eu', 'lua require("essentials").go_to_url()', opts) a.nvim_set_keymap('n', 'ec', 'lua require("essentials").cheat_sh()', opts) -- return to home screen a.nvim_set_keymap('n', 'gh', 'Alpha', opts) -- highlighting a.nvim_set_keymap("v", "ha", ":HSHighlight 1", opts) a.nvim_set_keymap("v", "hc", ":HSRmHighlight", opts) -- vbox note taking function _G.Toggle_venn() local venn_enabled = vim.inspect(vim.b.venn_enabled) vim.notify = require('notify') if venn_enabled == "nil" then vim.b.venn_enabled = true cmd[[setlocal ve=all]] -- draw a line on HJKL keystokes a.nvim_buf_set_keymap(0, "n", "J", "j:VBox", {noremap = true}) a.nvim_buf_set_keymap(0, "n", "K", "k:VBox", {noremap = true}) a.nvim_buf_set_keymap(0, "n", "L", "l:VBox", {noremap = true}) a.nvim_buf_set_keymap(0, "n", "H", "h:VBox", {noremap = true}) -- draw a box by pressing "f" with visual selection a.nvim_buf_set_keymap(0, "v", "f", ":VBox", {noremap = true}) -- make easier to navigate o.cursorcolumn = true o.colorcolumn = { 0 } -- notify vim.notify("venn toggled on", "info", { title = "Neovim config" }) else cmd[[setlocal ve=]] cmd[[mapclear ]] vim.b.venn_enabled = nil o.cursorcolumn = false o.colorcolumn = { 80 } -- notify vim.notify("venn toggled off", "info", { title = "Neovim config" }) end end -- toggle keymappings for venn using v a.nvim_set_keymap('n', 'v', ":lua Toggle_venn()", { noremap = true})