diff options
| author | Andrew Guschin <guschin@altlinux.org> | 2023-10-16 15:50:52 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin@altlinux.org> | 2023-10-16 15:50:52 +0400 |
| commit | b2b1f661e55c2a1139aef1f8f8aa4a11b10d3b01 (patch) | |
| tree | 200094a27a17f2a74f31128786726514181108e1 /lua/keybindings.lua | |
Initial commit
Diffstat (limited to 'lua/keybindings.lua')
| -rw-r--r-- | lua/keybindings.lua | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lua/keybindings.lua b/lua/keybindings.lua new file mode 100644 index 0000000..e10e458 --- /dev/null +++ b/lua/keybindings.lua @@ -0,0 +1,44 @@ +vim.g.mapleader = " " + +-- Splits keybindings +vim.keymap.set("n", "<leader>s", "<ESC>:vsplit<CR>") +vim.keymap.set("n", "<leader>vs", "<ESC>:split<CR>") + +-- Splits shortcuts +vim.keymap.set("n", "<leader>j", "<C-W><C-J>") +vim.keymap.set("n", "<leader>k", "<C-W><C-K>") +vim.keymap.set("n", "<leader>l", "<C-W><C-L>") +vim.keymap.set("n", "<leader>h", "<C-W><C-H>") + +-- Horizontal window resizing +vim.keymap.set("n", "<leader>.", "<C-W>>") +vim.keymap.set("n", "<leader>,", "<C-W><") + +-- Copy to system clipboard +vim.keymap.set("n", "<leader>y", '"+y') +vim.keymap.set("v", "<leader>y", '"+y') +vim.keymap.set("n", "<leader>d", '"+d') +vim.keymap.set("v", "<leader>d", '"+d') + +-- Terminal mode +-- au TerminalOpen * setlocal nospell +vim.keymap.set('t', "<leader><ESC>", "<C-\\><C-n>") +vim.keymap.set('t', "<S-space>", "<space>") + +-- Tabs +vim.keymap.set("n", "<leader>tn", ":tabnew<CR>") +vim.keymap.set("n", "<leader>tt", ":tabnew | term<CR>") +vim.keymap.set("n", "<leader>th", ":tabprevious<CR>") +vim.keymap.set("n", "<leader>tl", ":tabnext<CR>") +vim.keymap.set("n", "<leader>tc", ":tabclose<CR>") +vim.keymap.set("n", "<leader>t,", ":tabmove -1<CR>") +vim.keymap.set("n", "<leader>t.", ":tabmove +1<CR>") + +-- Trailing whitespace trimmer +function trim_whitespace() + local view = vim.fn.winsaveview() + vim.cmd.retab() + vim.cmd[[keeppatterns %s/\s\+$//e]] + vim.fn.winrestview(view) +end +vim.keymap.set("n", "<leader>f", trim_whitespace) |