nixos/config/nvim/lua/core/keymaps.lua

58 lines
1.5 KiB
Lua

local opts = { noremap = true, silent = true }
vim.g.mapleader = " "
vim.g.maplocalleader = " "
vim.opt.backspace = "2"
vim.opt.showcmd = true
vim.opt.laststatus = 2
vim.opt.autowrite = true
vim.opt.cursorline = true
vim.opt.autoread = true
-- spaces for tabs
vim.opt.tabstop = 2
vim.opt.shiftwidth = 2
vim.opt.shiftround = true
vim.opt.expandtab = true
-- split position
vim.opt.splitbelow = true
vim.opt.splitright = true
-- :terminal shell
if (vim.loop.os_uname().sysname == "Linux")
then
vim.opt.shell = "zsh"
else
vim.opt.shell = "pwsh"
end
-- nvimtree
vim.keymap.set("n", "<leader>e", ":NvimTreeFindFileToggle<CR>", opts)
-- splits
vim.keymap.set("n", "<c-k>", ":wincmd k<CR>", opts)
vim.keymap.set("n", "<c-j>", ":wincmd j<CR>", opts)
vim.keymap.set("n", "<c-h>", ":wincmd h<CR>", opts)
vim.keymap.set("n", "<c-l>", ":wincmd l<CR>", opts)
-- resize split
vim.keymap.set("n", "<Left>", ":vertical resize +1<CR>", opts)
vim.keymap.set("n", "<Right>", ":vertical resize -1<CR>", opts)
vim.keymap.set("n", "<Up>", ":resize -1<CR>", opts)
vim.keymap.set("n", "<Down>", ":resize +1<CR>", opts)
-- make split
vim.keymap.set("n", "nsv", ":vsplit<CR>", opts)
vim.keymap.set("n", "nsh", ":split<CR>", opts)
-- terminal
vim.keymap.set("n", "<leader>t", ":split<CR> <BAR> :terminal<CR>")
-- exit terminal with esc
vim.keymap.set("t", "<Esc>", "<C-\\><C-n>", opts)
-- color picker
vim.keymap.set("n", "<C-c>", "<cmd>PickColor<cr>", opts)
vim.keymap.set("i", "<C-c>", "<cmd>PickColorInsert<cr>", opts)