mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-14 14:12:41 +00:00
55 lines
2.1 KiB
Lua
55 lines
2.1 KiB
Lua
-- Keymaps are automatically loaded on the VeryLazy event
|
|
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
|
-- Add any additional keymaps here
|
|
|
|
local keymap = vim.keymap.set
|
|
local default_options = { noremap = true, silent = true }
|
|
local wk = require("which-key")
|
|
|
|
local wk_add = function(mode, keymaps)
|
|
wk.add(keymaps, { mode = mode, silent = true })
|
|
end
|
|
|
|
keymap("i", "jk", "<ESC>", default_options)
|
|
|
|
local make_executable = function()
|
|
local file = vim.fn.expand("%:p")
|
|
vim.cmd("silent !chmod +x " .. file)
|
|
print("Made " .. file .. " executable")
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Normal Mode
|
|
--------------------------------------------------------------------------------
|
|
wk_add("n", {
|
|
{ "<Left>", ":vertical resize +1<CR>", desc = "Resize Pane Left" },
|
|
{ "<Right>", ":vertical resize -1<CR>", desc = "Resize Pane Right" },
|
|
{ "<Up>", "resize -1<CR>", desc = "Resize Pane Up" },
|
|
{ "<Down>", "resize +1<CR>", desc = "Resize Pane Down" },
|
|
|
|
{ "<leader>n", "<CMD>:noh<CR>", desc = "[N]o highlighting" },
|
|
{ "<leader>s", "<CMD>:set spell!<CR>", desc = "[S]pell check toggle" },
|
|
{ "<C-s>", "<CMD>:write<CR>", desc = "[S]ave" },
|
|
|
|
{ "J", ":move .+1<CR>==", desc = "Move line down" },
|
|
{ "K", ":move .-2<CR>==", desc = "Move line up" },
|
|
|
|
{ "<leader>x", make_executable, desc = "Make current file e[x]ecutable" },
|
|
{ "<leader>z", "<CMD>:ZenMode<CR>", desc = "[Z]en Mode" },
|
|
})
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Visual Mode
|
|
--------------------------------------------------------------------------------
|
|
|
|
vim.keymap.set("v", "K", ":move '<-2<CR>gv=gv", { desc = "Move selected block up.", silent = true, noremap = true })
|
|
vim.keymap.set("v", "J", ":move '>+1<CR>gv=gv", { desc = "Move selected block up.", silent = true, noremap = true })
|
|
|
|
-- Toggle term key maps, that get attached when terminal is opened.
|
|
function _G.set_terminal_keymaps()
|
|
local opts = { buffer = 0 }
|
|
keymap("t", "<esc>", [[<C-\><C-n>]], opts)
|
|
end
|
|
|
|
vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()")
|