-- ██ -- ░░ -- ███████ █████ ██████ ██ ██ ██ ██████████ -- ░░██░░░██ ██░░░██ ██░░░░██░██ ░██░██░░██░░██░░██ -- ░██ ░██░███████░██ ░██░░██ ░██ ░██ ░██ ░██ ░██ -- ░██ ░██░██░░░░ ░██ ░██ ░░████ ░██ ░██ ░██ ░██ -- ███ ░██░░██████░░██████ ░░██ ░██ ███ ░██ ░██ -- ░░░ ░░ ░░░░░░ ░░░░░░ ░░ ░░ ░░░ ░░ ░░ -- -- ▓▓▓▓▓▓▓▓▓▓ -- ░▓ author ▓ xero -- ░▓ code ▓ https://code.x-e.ro/dotfiles -- ░▓ mirror ▓ https://git.io/.files -- ░▓▓▓▓▓▓▓▓▓▓ -- ░░░░░░░░░░ -- local f = require("utils.functions") local r = require("utils.remaps") -- buffers r.noremap("n", "", ":bn", "next buffer") r.noremap("n", "", ":bp", "prev buffer") r.noremap("n", "", ":bd", "exit buffer") -- tabs r.noremap("n", "l", "tablast", "last tab") r.noremap("n", "f", "tabfirst", "first tab") r.noremap("n", "", "tabnew", "new tab") r.noremap("n", "]", "tabnext", "next tab") r.noremap("n", "d", "tabclose", "close tab") r.noremap("n", "[", "tabprevious", "previous tab") r.map_virtual({ "", group = "tabs", icon = { icon = " ", hl = "Constant" } }) -- remove highlighting r.noremap("n", "", ":nohlsearch", "which_key_ignore", { silent = true }) -- remove trailing white space f.cmd("Nows", "%s/\\s\\+$//e", { desc = "remove trailing whitespace" }) -- remove blank lines f.cmd("Nobl", "g/^\\s*$/d", { desc = "remove blank lines" }) -- toggle wrapping f.cmd("Wt", "setlocal wrap! nowrap?", { desc = "toggle line wrapping" }) r.noremap("n", "w", ":Wt", "toggle line wrapping") r.map_virtual({ "w", group = "line wrap", icon = { icon = "󰖶", hl = "Constant" } }) -- spell check f.cmd("Sp", "setlocal spell! spell?", { desc = "toggle spell check" }) r.noremap("n", "s", ":Sp", "toggle spell check") r.map_virtual({ "s", group = "spell check", icon = { icon = "󰓆", hl = "Constant" } }) -- ios keeb r.noremap("n", "", "0", "ios home key") r.noremap("i", "", "0", "ios home key") -- pseudo tail functionality f.cmd("Tail", 'set autoread | au CursorHold * checktime | call feedkeys("G")', { desc = "pseudo tail functionality" }) -- make current buffer executable f.cmd("Chmodx", "!chmod a+x %", { desc = "make current buffer executable" }) r.noremap("n", "x", ":Chmodx", "chmod +x buffer") r.map_virtual({ "x", group = "mark executable", icon = { icon = "", hl = "Constant" } }) -- fix syntax highlighting f.cmd("FixSyntax", "syntax sync fromstart", { desc = "reload syntax highlighting" }) -- vertical term f.cmd("T", ":vs | :set nu! | :term", { desc = "vertical terminal" }) -- the worst place in the universe r.noremap("n", "Q", "", "") -- move blocks r.noremap("v", "J", ":m '>+1gv=gv", "move block up") r.noremap("v", "K", ":m '<-2gv=gv", "move block down") -- focus scrolling r.noremap("n", "", "zz", "scroll down") r.noremap("n", "", "zz", "scroll up") -- focus highlight searches r.noremap("n", "n", "nzzzv", "next match") r.noremap("n", "N", "Nzzzv", "prev match") -- remove trailing whitespaces and ^M chars f.autocmd({ "BufWritePre" }, { pattern = { "*" }, callback = function(_) local save_cursor = vim.fn.getpos(".") vim.cmd([[%s/\s\+$//e]]) vim.fn.setpos(".", save_cursor) end, })