.config/nvim/lua/kamu/keymaps.lua aktualisiert
This commit is contained in:
@@ -17,101 +17,11 @@ vim.keymap.set("n", "<leader>nh", vim.cmd.noh)
|
|||||||
-- clear highlight on search when pressing <ESC>
|
-- clear highlight on search when pressing <ESC>
|
||||||
-- vim.keymap.set('n', '<ESC>', '<cmd>nohlsearch<CR>')
|
-- vim.keymap.set('n', '<ESC>', '<cmd>nohlsearch<CR>')
|
||||||
|
|
||||||
|
-- Highlight when yanking text
|
||||||
-- n, v, i, t = mode names
|
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||||
|
desc = "Highlight when yanking text",
|
||||||
local M = {}
|
group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }),
|
||||||
|
callback = function()
|
||||||
M.general = {
|
vim.highlight.on_yank()
|
||||||
i = {
|
|
||||||
-- go to beginning and end
|
|
||||||
["<C-b>"] = { "<ESC>^i", "Beginning of line" },
|
|
||||||
["<C-e>"] = { "<End>", "End of line" },
|
|
||||||
|
|
||||||
-- navigate within insert mode
|
|
||||||
["<C-h>"] = { "<Left>", "Move left" },
|
|
||||||
["<C-l>"] = { "<Right>", "Move right" },
|
|
||||||
["<C-j>"] = { "<Down>", "Move down" },
|
|
||||||
["<C-k>"] = { "<Up>", "Move up" },
|
|
||||||
},
|
|
||||||
|
|
||||||
n = {
|
|
||||||
["<Esc>"] = { ":noh <CR>", "Clear highlights" },
|
|
||||||
-- switch between windows
|
|
||||||
["<C-h>"] = { "<C-w>h", "Window left" },
|
|
||||||
["<C-l>"] = { "<C-w>l", "Window right" },
|
|
||||||
["<C-j>"] = { "<C-w>j", "Window down" },
|
|
||||||
["<C-k>"] = { "<C-w>k", "Window up" },
|
|
||||||
|
|
||||||
-- save
|
|
||||||
["<C-s>"] = { "<cmd> w <CR>", "Save file" },
|
|
||||||
|
|
||||||
-- Copy all
|
|
||||||
["<C-c>"] = { "<cmd> %y+ <CR>", "Copy whole file" },
|
|
||||||
|
|
||||||
-- line numbers
|
|
||||||
["<leader>n"] = { "<cmd> set nu! <CR>", "Toggle line number" },
|
|
||||||
["<leader>rn"] = { "<cmd> set rnu! <CR>", "Toggle relative number" },
|
|
||||||
|
|
||||||
-- Allow moving the cursor through wrapped lines with j, k, <Up> and <Down>
|
|
||||||
-- http://www.reddit.com/r/vim/comments/2k4cbr/problem_with_gj_and_gk/
|
|
||||||
-- empty mode is same as using <cmd> :map
|
|
||||||
-- also don't use g[j|k] when in operator pending mode, so it doesn't alter d, y or c behaviour
|
|
||||||
["j"] = { 'v:count || mode(1)[0:1] == "no" ? "j" : "gj"', "Move down", opts = { expr = true } },
|
|
||||||
["k"] = { 'v:count || mode(1)[0:1] == "no" ? "k" : "gk"', "Move up", opts = { expr = true } },
|
|
||||||
["<Up>"] = { 'v:count || mode(1)[0:1] == "no" ? "k" : "gk"', "Move up", opts = { expr = true } },
|
|
||||||
["<Down>"] = { 'v:count || mode(1)[0:1] == "no" ? "j" : "gj"', "Move down", opts = { expr = true } },
|
|
||||||
|
|
||||||
-- new buffer
|
|
||||||
["<leader>b"] = { "<cmd> enew <CR>", "New buffer" },
|
|
||||||
["<leader>ch"] = { "<cmd> NvCheatsheet <CR>", "Mapping cheatsheet" },
|
|
||||||
|
|
||||||
["<leader>fm"] = {
|
|
||||||
function()
|
|
||||||
vim.lsp.buf.format { async = true }
|
|
||||||
end,
|
end,
|
||||||
"LSP formatting",
|
})
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
t = {
|
|
||||||
["<C-x>"] = { vim.api.nvim_replace_termcodes("<C-\\><C-N>", true, true, true), "Escape terminal mode" },
|
|
||||||
},
|
|
||||||
|
|
||||||
v = {
|
|
||||||
["<Up>"] = { 'v:count || mode(1)[0:1] == "no" ? "k" : "gk"', "Move up", opts = { expr = true } },
|
|
||||||
["<Down>"] = { 'v:count || mode(1)[0:1] == "no" ? "j" : "gj"', "Move down", opts = { expr = true } },
|
|
||||||
["<"] = { "<gv", "Indent line" },
|
|
||||||
[">"] = { ">gv", "Indent line" },
|
|
||||||
},
|
|
||||||
|
|
||||||
x = {
|
|
||||||
["j"] = { 'v:count || mode(1)[0:1] == "no" ? "j" : "gj"', "Move down", opts = { expr = true } },
|
|
||||||
["k"] = { 'v:count || mode(1)[0:1] == "no" ? "k" : "gk"', "Move up", opts = { expr = true } },
|
|
||||||
-- Don't copy the replaced text after pasting in visual mode
|
|
||||||
-- https://vim.fandom.com/wiki/Replace_a_word_with_yanked_text#Alternative_mapping_for_paste
|
|
||||||
["p"] = { 'p:let @+=@0<CR>:let @"=@0<CR>', "Dont copy replaced text", opts = { silent = true } },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
M.comment = {
|
|
||||||
plugin = true,
|
|
||||||
|
|
||||||
-- toggle comment in both modes
|
|
||||||
n = {
|
|
||||||
["<leader>/"] = {
|
|
||||||
function()
|
|
||||||
require("Comment.api").toggle.linewise.current()
|
|
||||||
end,
|
|
||||||
"Toggle comment",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
v = {
|
|
||||||
["<leader>/"] = {
|
|
||||||
"<ESC><cmd>lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<CR>",
|
|
||||||
"Toggle comment",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user