Set up LSP, completion, etc; adjust a few other small settings
This commit is contained in:
51
src_files/.config/nvim/lua/david_standard/key_mappings.lua
Normal file
51
src_files/.config/nvim/lua/david_standard/key_mappings.lua
Normal file
@@ -0,0 +1,51 @@
|
||||
-- explore the directory of the current file (using netrw)
|
||||
vim.keymap.set("n", "<leader>n", vim.cmd.Ex)
|
||||
|
||||
-- move selected lines up or down
|
||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv")
|
||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv")
|
||||
|
||||
-- vertically center cursor with half-page jumps iterating search results
|
||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
||||
vim.keymap.set("n", "n", "nzzzv")
|
||||
vim.keymap.set("n", "N", "Nzzzv")
|
||||
|
||||
-- maintain cursor position after paragraph formatting
|
||||
vim.keymap.set("n", "=ap", "ma=ap'a")
|
||||
|
||||
-- shortcuts for deleting into the void register
|
||||
vim.keymap.set({ "n", "v" }, "<leader>d", "\"_d")
|
||||
vim.keymap.set("x", "<leader>p", [["_dP]]) -- replace selected text, keep main register
|
||||
|
||||
-- shortcuts for using + register (system clipboard)
|
||||
vim.keymap.set({ "n", "v" }, "<leader>y", [["+y]])
|
||||
vim.keymap.set("n", "<leader>Y", [["+Y]])
|
||||
|
||||
-- search-and-replace shortcuts
|
||||
vim.keymap.set("n", "<leader>rw", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
||||
vim.keymap.set("n", "<leader>ra", [[:%s//g<Left><Left>]])
|
||||
|
||||
-- toggle expandtab and show message
|
||||
vim.keymap.set("n", "<leader>tab", function()
|
||||
if vim.opt.expandtab:get() then
|
||||
vim.opt.expandtab = false
|
||||
print("using actual tabs")
|
||||
else
|
||||
vim.opt.expandtab = true
|
||||
print("using spaces in place of tabs")
|
||||
end
|
||||
end)
|
||||
|
||||
-- quicker switching between panes/splits
|
||||
vim.keymap.set("n", "<C-h>", [[<C-w>h]])
|
||||
vim.keymap.set("n", "<C-j>", [[<C-w>j]])
|
||||
vim.keymap.set("n", "<C-k>", [[<C-w>k]])
|
||||
vim.keymap.set("n", "<C-l>", [[<C-w>l]])
|
||||
|
||||
-- TODO: learn about quickfix (:help quickfix), then maybe use these
|
||||
-- vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
|
||||
-- vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
|
||||
-- vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
|
||||
-- vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
|
||||
|
Reference in New Issue
Block a user