Clean up keymaps
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
|
||||
vim.g.mapleader = " "
|
||||
vim.g.vimsyn_embed = "1"
|
||||
vim.fn.execute("language en_US.utf-8")
|
||||
vim.cmd.language("en_US.utf-8")
|
||||
-- Fix race condition in nvim-tree
|
||||
vim.g.loaded_netrw = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
+15
-27
@@ -14,9 +14,6 @@
|
||||
limitations under the License.
|
||||
]]
|
||||
|
||||
local opts = { remap = false, silent = true, }
|
||||
local opts_expr = { remap = false, silent = true, expr = true, }
|
||||
|
||||
local function close_floating_windows()
|
||||
for _, win in ipairs(vim.api.nvim_list_wins()) do
|
||||
local cfg = vim.api.nvim_win_get_config(win)
|
||||
@@ -28,37 +25,32 @@ end
|
||||
|
||||
|
||||
--- Tab mappings ---
|
||||
-- vim.keymap.set('n', "tn", ":tabnew <BAR> NvimTreeOpen<CR>", opts)
|
||||
vim.keymap.set("n", "tn", ":tabnew<CR>", opts)
|
||||
vim.keymap.set("n", "tq", ":tabclose<CR>", opts)
|
||||
vim.keymap.set("n", "tn", vim.cmd.tabnew)
|
||||
vim.keymap.set("n", "tq", vim.cmd.tabclose)
|
||||
-- switch tabs with Ctrl+PgUp/Ctrl+PgDwn (default vim mapping)
|
||||
|
||||
--- Buffer mappings ---
|
||||
-- Center cursorline
|
||||
vim.keymap.set("n", "<leader><leader>", "zz", opts)
|
||||
vim.keymap.set("n", "<leader><leader>", "zz")
|
||||
-- Save buffer
|
||||
vim.keymap.set(
|
||||
"n", "<C-s>",
|
||||
-- workaround for double save messages
|
||||
function () vim.api.nvim_command(":silent w") end,
|
||||
{ remap = false, }
|
||||
)
|
||||
vim.keymap.set("n", "<C-s>", vim.cmd.write)
|
||||
-- Cycle buffers
|
||||
vim.keymap.set("n", "<C-End>", ":BufferLineCycleNext<CR>", opts)
|
||||
vim.keymap.set("n", "<C-Home>", ":BufferLineCyclePrev<CR>", opts)
|
||||
-- TODO: change to :bnext and :bprev
|
||||
vim.keymap.set("n", "<C-End>", vim.cmd.BufferLineCycleNext)
|
||||
vim.keymap.set("n", "<C-Home>", vim.cmd.BufferLineCyclePrev)
|
||||
|
||||
--- General mappings ---
|
||||
-- yank/put using named register
|
||||
vim.keymap.set({ "n", "x", }, "<leader>y", '"+y', opts)
|
||||
vim.keymap.set({ "n", "x", }, "<leader>p", '"+p', opts)
|
||||
vim.keymap.set({ "n", "x", }, "<leader>y", '"+y')
|
||||
vim.keymap.set({ "n", "x", }, "<leader>p", '"+p')
|
||||
-- Allow exiting insert mode in terminal by hitting <ESC>
|
||||
vim.keymap.set("t", "<Esc>", "<C-\\><C-n>", opts)
|
||||
vim.keymap.set("t", "<Esc>", "<C-\\><C-n>")
|
||||
-- Use :diffput/get instead of normal one to allow staging visual selection
|
||||
vim.keymap.set({ "n", "x", }, "<leader>dp",
|
||||
"&diff ? ':diffput<CR>' : '<leader>dp'", opts_expr)
|
||||
vim.keymap.set({ "n", "x", }, "<leader>do",
|
||||
"&diff ? ':diffget<CR>' : '<leader>do'", opts_expr)
|
||||
vim.keymap.set("i", "<C-e>", close_floating_windows, opts)
|
||||
vim.keymap.set("n", "<leader>dp", vim.cmd.diffput)
|
||||
vim.keymap.set("x", "<leader>dp", ":diffput<CR>")
|
||||
vim.keymap.set("n", "<leader>do", vim.cmd.diffget)
|
||||
vim.keymap.set("x", "<leader>do", ":diffget<CR>")
|
||||
vim.keymap.set("i", "<C-e>", close_floating_windows)
|
||||
|
||||
-- Remove default mappings
|
||||
vim.keymap.set("", "<C-LeftMouse>", "")
|
||||
@@ -67,7 +59,3 @@ vim.keymap.set("", "q", "")
|
||||
-- Remove right-click menu items
|
||||
vim.cmd.aunmenu({ "PopUp.-1-", })
|
||||
vim.cmd.aunmenu({ "PopUp.How-to\\ disable\\ mouse", })
|
||||
|
||||
-- Silence some keys
|
||||
vim.keymap.set({ "n", "v", }, "u", ":silent undo<CR>", { silent = true, })
|
||||
vim.keymap.set({ "n", "v", }, "<C-r>", ":silent redo<CR>", { silent = true, })
|
||||
|
||||
@@ -74,7 +74,7 @@ vim.opt.diffopt:append("internal")
|
||||
-- These make diffs easier to read, please see the following:
|
||||
-- https://vimways.org/2018/the-power-of-diff/
|
||||
vim.opt.diffopt:append({ "indent-heuristic", "algorithm:histogram", })
|
||||
vim.fn.execute("filetype plugin on")
|
||||
vim.cmd.filetype("plugin on")
|
||||
vim.opt.hlsearch = true
|
||||
vim.opt.laststatus = 3
|
||||
vim.opt.textwidth = 0
|
||||
|
||||
+5
-5
@@ -91,7 +91,7 @@ end
|
||||
function P.on_attach(client, bufnr)
|
||||
-- Mappings.
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
local opts = { silent = true, buffer = bufnr, }
|
||||
local opts = { buffer = bufnr, }
|
||||
vim.keymap.set("n", "<leader>df", vim.diagnostic.open_float, opts)
|
||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
|
||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
|
||||
@@ -115,9 +115,9 @@ function P.on_attach(client, bufnr)
|
||||
)
|
||||
|
||||
-- For document highlight
|
||||
vim.fn.execute("hi! link LspReferenceRead Visual")
|
||||
vim.fn.execute("hi! link LspReferenceText Visual")
|
||||
vim.fn.execute("hi! link LspReferenceWrite Visual")
|
||||
vim.cmd.highlight({ "link LspReferenceRead Visual", bang = true, })
|
||||
vim.cmd.highlight({ "link LspReferenceText Visual", bang = true, })
|
||||
vim.cmd.highlight({ "link LspReferenceWrite Visual", bang = true, })
|
||||
-- vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI", }, {
|
||||
-- buffer = bufnr,
|
||||
-- callback = vim.lsp.buf.document_highlight,
|
||||
@@ -145,7 +145,7 @@ function P.reload_server_buf(self, name)
|
||||
if ft_map[buf_ft] then
|
||||
vim.api.nvim_buf_call(
|
||||
bufnr,
|
||||
function () vim.cmd("e") end
|
||||
vim.cmd.edit
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -24,8 +24,12 @@ require("aerial").setup({
|
||||
unlisted_buffers = true,
|
||||
},
|
||||
on_attach = function (bufnr)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>at", "<cmd>AerialToggle!<CR>", {})
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<leader>at",
|
||||
function () vim.cmd.AerialToggle({ bang = true, }) end,
|
||||
{ buffer = bufnr, }
|
||||
)
|
||||
end,
|
||||
show_guides = true,
|
||||
})
|
||||
|
||||
|
||||
@@ -19,6 +19,6 @@
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<C-w>q",
|
||||
":Bwipeout<CR>",
|
||||
vim.cmd.Bwipeout,
|
||||
{ remap = false, silent = true, }
|
||||
)
|
||||
|
||||
+12
-14
@@ -16,17 +16,18 @@
|
||||
|
||||
-- https://github.com/mfussenegger/nvim-dap
|
||||
|
||||
vim.fn.execute("nnoremap <silent> <F5> :lua require'dap'.continue()<CR>")
|
||||
vim.fn.execute("nnoremap <silent> <F10> :lua require'dap'.step_over()<CR>")
|
||||
vim.fn.execute("nnoremap <silent> <F11> :lua require'dap'.step_into()<CR>")
|
||||
vim.fn.execute("nnoremap <silent> <F12> :lua require'dap'.step_out()<CR>")
|
||||
local dap = require("dap")
|
||||
|
||||
vim.keymap.set("n", "<F5>", dap.continue)
|
||||
vim.keymap.set("n", "<F10>", dap.step_over)
|
||||
vim.keymap.set("n", "<F11>", dap.step_into)
|
||||
vim.keymap.set("n", "<F12>", dap.step_out)
|
||||
|
||||
local utils = require("utils")
|
||||
|
||||
local M = {}
|
||||
|
||||
local env_ok = false
|
||||
local dap = nil
|
||||
|
||||
local function check_env()
|
||||
utils.assert_installed("python3")
|
||||
@@ -38,15 +39,12 @@ local function start(config)
|
||||
if not env_ok then
|
||||
check_env()
|
||||
end
|
||||
if not dap then
|
||||
dap = require("dap")
|
||||
dap.adapters.python = {
|
||||
type = "executable",
|
||||
command = "python",
|
||||
args = { "-m", "debugpy.adapter", },
|
||||
cwd = vim.fn.getcwd(),
|
||||
}
|
||||
end
|
||||
dap.adapters.python = {
|
||||
type = "executable",
|
||||
command = "python",
|
||||
args = { "-m", "debugpy.adapter", },
|
||||
cwd = vim.fn.getcwd(),
|
||||
}
|
||||
dap.run(config)
|
||||
-- List of events described at https://microsoft.github.io/debug-adapter-protocol/specification#Events
|
||||
-- Also see :h dap-extensions
|
||||
|
||||
@@ -41,6 +41,15 @@ require("diffview").setup({
|
||||
keymaps = {
|
||||
file_panel = {
|
||||
["<cr>"] = false,
|
||||
{
|
||||
"n",
|
||||
"<CR>",
|
||||
function ()
|
||||
actions.select_entry()
|
||||
vim.cmd.wincmd("l")
|
||||
end,
|
||||
{ desc = "Open the current file in diffview", },
|
||||
},
|
||||
{
|
||||
"n",
|
||||
"s",
|
||||
@@ -56,31 +65,23 @@ require("diffview").setup({
|
||||
{
|
||||
"n",
|
||||
"cc",
|
||||
":G commit | wincmd J<CR>",
|
||||
function ()
|
||||
vim.cmd.G("commit")
|
||||
vim.cmd.wincmd("J")
|
||||
end,
|
||||
{ desc = "Commit staged changes", },
|
||||
},
|
||||
{
|
||||
"n",
|
||||
"ca",
|
||||
":G commit --amend | wincmd J<CR>",
|
||||
function ()
|
||||
vim.cmd.G("commit --amend")
|
||||
vim.cmd.wincmd("J")
|
||||
end,
|
||||
{ desc = "Amend the last commit", },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
local opts = { silent = true, remap = false, }
|
||||
vim.keymap.set("n", "<leader>gg", ":DiffviewOpen<CR>", opts)
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "DiffviewFiles",
|
||||
callback = function ()
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<CR>",
|
||||
function ()
|
||||
actions.select_entry()
|
||||
vim.fn.execute("wincmd l")
|
||||
end,
|
||||
{ silent = true, noremap = true, buffer = true, })
|
||||
end,
|
||||
})
|
||||
vim.keymap.set("n", "<leader>gg", vim.cmd.DiffviewOpen)
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
|
||||
-- https://github.com/rbong/vim-flog
|
||||
|
||||
vim.keymap.set("n", "<leader>gl", ":Flog<CR>", { remap = false, silent = true, })
|
||||
vim.keymap.set("n", "<leader>gl", vim.cmd.Flog)
|
||||
|
||||
@@ -17,15 +17,15 @@
|
||||
-- https://github.com/tpope/vim-fugitive
|
||||
|
||||
local function git_status_tab()
|
||||
vim.fn.execute("tabnew")
|
||||
vim.fn.execute("leftabove vertical G")
|
||||
vim.fn.execute("vertical resize 60 | set wfw")
|
||||
vim.cmd.tabnew()
|
||||
vim.cmd("leftabove vertical G")
|
||||
vim.cmd("vertical resize 60")
|
||||
vim.cmd.set("wfw")
|
||||
end
|
||||
|
||||
local opts = { silent = true, remap = false, }
|
||||
vim.keymap.set("n", "<leader>gd", ":Gdiffsplit<CR>", opts)
|
||||
vim.keymap.set("n", "<leader>gd", vim.cmd.Gdiffsplit)
|
||||
|
||||
-- Only used if diffview is not available
|
||||
if not pcall(require, "diffview") then
|
||||
vim.keymap.set("n", "<leader>gg", git_status_tab, opts)
|
||||
vim.keymap.set("n", "<leader>gg", git_status_tab)
|
||||
end
|
||||
|
||||
@@ -16,21 +16,25 @@
|
||||
|
||||
-- https://github.com/lewis6991/gitsigns.nvim
|
||||
|
||||
local function map(bufnr, mode, l, r, opts)
|
||||
opts = opts or {}
|
||||
opts.buffer = bufnr
|
||||
vim.keymap.set(mode, l, r, opts)
|
||||
end
|
||||
|
||||
require("gitsigns").setup({
|
||||
on_attach = function (bufnr)
|
||||
local gs = package.loaded.gitsigns
|
||||
map(bufnr, "n", "<leader>gv", gs.select_hunk)
|
||||
map(bufnr, { "n", "x", }, "<leader>gr", ":Gitsigns reset_hunk<CR>") -- gs.reset_hunk() doesn't work with selected lines
|
||||
map(bufnr, "n", "<leader>g?", gs.preview_hunk)
|
||||
map(bufnr, "n", "<leader>gb", function ()
|
||||
gs.blame_line { full = true, }
|
||||
end)
|
||||
vim.keymap.set("n", "<leader>gv", gs.select_hunk, { buffer = bufnr, })
|
||||
vim.keymap.set("n", "<leader>gr", gs.reset_hunk, { buffer = bufnr, })
|
||||
vim.keymap.set(
|
||||
"x",
|
||||
"<leader>gr",
|
||||
":Gitsigns reset_hunk<CR>",
|
||||
{ buffer = bufnr, }
|
||||
)
|
||||
vim.keymap.set("n", "<leader>g?", gs.preview_hunk, { buffer = bufnr, })
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<leader>gb",
|
||||
function ()
|
||||
gs.blame_line { full = true, ignore_whitespace = true, }
|
||||
end,
|
||||
{ buffer = bufnr, })
|
||||
end,
|
||||
signs = {
|
||||
untracked = { text = "│", },
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
-- https://github.com/fedepujol/move.nvim
|
||||
|
||||
local opts = { noremap = true, silent = true, }
|
||||
vim.keymap.set("n", "<A-j>", ":MoveLine(1)<CR>", opts)
|
||||
vim.keymap.set("n", "<A-k>", ":MoveLine(-1)<CR>", opts)
|
||||
vim.keymap.set("n", "<A-h>", ":MoveHChar(-1)<CR>", opts)
|
||||
vim.keymap.set("n", "<A-l>", ":MoveHChar(1)<CR>", opts)
|
||||
vim.keymap.set("n", "<A-j>", function () vim.cmd.MoveLine(1) end, opts)
|
||||
vim.keymap.set("n", "<A-k>", function () vim.cmd.MoveLine(-1) end, opts)
|
||||
vim.keymap.set("n", "<A-h>", function () vim.cmd.MoveHChar(-1) end, opts)
|
||||
vim.keymap.set("n", "<A-l>", function () vim.cmd.MoveHChar(1) end, opts)
|
||||
vim.keymap.set("x", "<A-j>", ":MoveBlock(1)<CR>", opts)
|
||||
vim.keymap.set("x", "<A-k>", ":MoveBlock(-1)<CR>", opts)
|
||||
vim.keymap.set("x", "<A-h>", ":MoveHBlock(-1)<CR>", opts)
|
||||
|
||||
@@ -28,7 +28,5 @@ vim.notify = notify
|
||||
|
||||
if has_telescope then
|
||||
telescope.load_extension("notify")
|
||||
vim.keymap.set(
|
||||
"n", "<leader>fn", function () telescope.extensions.notify.notify() end
|
||||
)
|
||||
vim.keymap.set("n", "<leader>fn", telescope.extensions.notify.notify)
|
||||
end
|
||||
|
||||
@@ -19,10 +19,14 @@
|
||||
local builtin = require("telescope.builtin")
|
||||
|
||||
vim.keymap.set(
|
||||
"n", "<leader>ff", function () builtin.find_files({ hidden = true, }) end
|
||||
"n",
|
||||
"<leader>ff",
|
||||
function () builtin.find_files({ hidden = true, }) end
|
||||
)
|
||||
vim.keymap.set(
|
||||
"n", "<leader>fr", function () builtin.oldfiles({ hidden = true, }) end
|
||||
"n",
|
||||
"<leader>fr",
|
||||
function () builtin.oldfiles({ hidden = true, }) end
|
||||
)
|
||||
vim.keymap.set(
|
||||
"n", "<leader>fg", function ()
|
||||
@@ -40,6 +44,4 @@ vim.keymap.set(
|
||||
)
|
||||
end
|
||||
)
|
||||
vim.keymap.set(
|
||||
"n", "<leader>fb", function () builtin.buffers() end
|
||||
)
|
||||
vim.keymap.set("n", "<leader>fb", builtin.buffers)
|
||||
|
||||
@@ -64,9 +64,4 @@ require("nvim-tree").setup({
|
||||
},
|
||||
})
|
||||
|
||||
local opts = { remap = false, silent = true, }
|
||||
vim.keymap.set(
|
||||
"n", "<leader>tt",
|
||||
function () require("nvim-tree.api").tree.toggle() end,
|
||||
opts
|
||||
)
|
||||
vim.keymap.set("n", "<leader>tt", require("nvim-tree.api").tree.toggle)
|
||||
|
||||
@@ -20,5 +20,4 @@ vim.g.winresizer_vert_resize = "5"
|
||||
vim.g.winresizer_horiz_resize = "5"
|
||||
vim.g.winresizer_start_key = ""
|
||||
|
||||
local opts = { remap = false, silent = true, }
|
||||
vim.keymap.set("n", "<C-W>r", ":WinResizerStartResize<CR>", opts)
|
||||
vim.keymap.set("n", "<C-W>r", vim.cmd.WinResizerStartResize)
|
||||
|
||||
@@ -16,4 +16,8 @@
|
||||
|
||||
-- https://github.com/sindrets/winshift.nvim
|
||||
|
||||
vim.keymap.set("n", "<C-W>m", ":WinShift<CR>", { remap = false, })
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<C-W>m",
|
||||
vim.cmd.WinShift
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user