1
0
neovim-config/lua/bindings.lua
2023-05-11 17:31:02 +03:00

53 lines
1.5 KiB
Lua

local map = require 'utils.map'
local silent = {silent = true}
-- Disable Ex mode
map('n', 'Q', '<nop>')
-- Save file
map('n', '<C-s>', ':w<cr>')
-- Paste from register and not replace it
-- map('x', '<leader>p', '"_dP')
-- Window movement
map('n', '<c-h>', '<c-w>h')
map('n', '<c-j>', '<c-w>j')
map('n', '<c-k>', '<c-w>k')
map('n', '<c-l>', '<c-w>l')
-- Resize windows
map('n', '<M-j>', ':resize -2<cr>', silent)
map('n', '<M-k>', ':resize +2<cr>', silent)
map('n', '<M-h>', ':vertical resize -2<cr>', silent)
map('n', '<M-l>', ':vertical resize +2<cr>', silent)
-- Better indenting
map('v', '<', '<gv')
map('v', '>', '>gv')
-- Better movement between tabs
map('n', '<C-Left>', ':tabprevious<cr>', silent)
map('n', '<C-Right>', ':tabnext<cr>', silent)
-- Move between windows easier in terminal windows
function _G.set_terminal_keymaps()
local opts = {buffer = 0}
vim.keymap.set('t', '<C-w>', [[<C-\><C-n>]], opts)
vim.keymap.set('t', '<C-h>', [[<Cmd>wincmd h<CR>]], opts)
vim.keymap.set('t', '<C-j>', [[<Cmd>wincmd j<CR>]], opts)
vim.keymap.set('t', '<C-k>', [[<Cmd>wincmd k<CR>]], opts)
vim.keymap.set('t', '<C-l>', [[<Cmd>wincmd l<CR>]], opts)
end
vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()')
-- Add abbreviation for != => ~= in lua files
vim.api.nvim_create_autocmd("BufEnter", {
group = vim.api.nvim_create_augroup("MyTermOpen", { clear = true }),
pattern = "*.lua",
callback = function()
vim.api.nvim_cmd({ cmd = "abb", args = {"<buffer>", "!=", "~="}}, {})
end
})