local function map(mode, lhs, rhs, opts) local options = { noremap = true } if opts then options = vim.tbl_extend("force", options, opts) end vim.api.nvim_set_keymap(mode, lhs, rhs, options) end vim.g.mapleader = " " map("n", "j", "gj") map("n", "k", "gk") map("n", "", "h") map("n", "", "j") map("n", "", "k") map("n", "", "l") map("i", "", "ā") map("i", "", "ē") map("i", "", "ī") map("i", "", "ō") map("i", "", "ū") map("n", "", ":w|:!texbld run compile") map("n", "", ":w|:!./test.sh") -- hacks vim.keymap.set("x", "p", [["_dP]]) vim.keymap.set({ "n", "v" }, "y", [["+y]]) vim.keymap.set("n", "Y", [["+Y]]) vim.keymap.set("n", "x", "!chmod +x %", { silent = true }) vim.keymap.set("n", "X", "!chmod -x %", { silent = true }) -- execute file vim.keymap.set("n", "e", "!%:p", { silent = true }) vim.keymap.set("n", "vc", "e ~/.config/nvim"); vim.keymap.set("n", "vz", "e ~/.zshrc"); vim.keymap.set("n", "fmt", function() vim.lsp.buf.formatting_sync() end) vim.keymap.set("n", "", "silent !tmux neww tmuxs")