0% found this document useful (0 votes)
30 views5 pages

Neovim Keymaps and Shortcuts Guide

The document defines key mappings for various plugins and features in Neovim including general mappings, split window management, tab management, diff, quickfix, file explorer, telescope, git blame, harpoon, REST console, LSP, and debugging.

Uploaded by

jfernando0328
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views5 pages

Neovim Keymaps and Shortcuts Guide

The document defines key mappings for various plugins and features in Neovim including general mappings, split window management, tab management, diff, quickfix, file explorer, telescope, git blame, harpoon, REST console, LSP, and debugging.

Uploaded by

jfernando0328
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

-- Set leader key to space

[Link] = " "

local keymap = [Link]

-- General keymaps
[Link]("i", "jk", "<ESC>") -- exit insert mode with jk
[Link]("i", "ii", "<ESC>") -- exit insert mode with ii
[Link]("n", "<leader>wq", ":wq<CR>") -- save and quit
[Link]("n", "<leader>qq", ":q!<CR>") -- quit without
saving
[Link]("n", "<leader>ww", ":w<CR>") -- save
[Link]("n", "gx", ":!open <c-r><c-a><CR>") -- open URL
under cursor

-- Split window management


[Link]("n", "<leader>sv", "<C-w>v") -- split window
vertically
[Link]("n", "<leader>sh", "<C-w>s") -- split window
horizontally
[Link]("n", "<leader>se", "<C-w>=") -- make split windows
equal width
[Link]("n", "<leader>sx", ":close<CR>") -- close split
window
[Link]("n", "<leader>sj", "<C-w>-") -- make split window
height shorter
[Link]("n", "<leader>sk", "<C-w>+") -- make split windows
height taller
[Link]("n", "<leader>sl", "<C-w>>5") -- make split
windows width bigger
[Link]("n", "<leader>sh", "<C-w><5") -- make split
windows width smaller

-- Tab management
[Link]("n", "<leader>to", ":tabnew<CR>") -- open a new
tab
[Link]("n", "<leader>tx", ":tabclose<CR>") -- close a tab
[Link]("n", "<leader>tn", ":tabn<CR>") -- next tab
[Link]("n", "<leader>tp", ":tabp<CR>") -- previous tab

-- Diff keymaps
[Link]("n", "<leader>cc", ":diffput<CR>") -- put diff
from current to other during diff
[Link]("n", "<leader>cj", ":diffget 1<CR>") -- get diff
from left (local) during merge
[Link]("n", "<leader>ck", ":diffget 3<CR>") -- get diff
from right (remote) during merge
[Link]("n", "<leader>cn", "]c") -- next diff hunk
[Link]("n", "<leader>cp", "[c") -- previous diff hunk

-- Quickfix keymaps
[Link]("n", "<leader>qo", ":copen<CR>") -- open quickfix
list
[Link]("n", "<leader>qf", ":cfirst<CR>") -- jump to first
quickfix list item
[Link]("n", "<leader>qn", ":cnext<CR>") -- jump to next
quickfix list item
[Link]("n", "<leader>qp", ":cprev<CR>") -- jump to prev
quickfix list item
[Link]("n", "<leader>ql", ":clast<CR>") -- jump to last
quickfix list item
[Link]("n", "<leader>qc", ":cclose<CR>") -- close
quickfix list

-- Vim-maximizer
[Link]("n", "<leader>sm", ":MaximizerToggle<CR>") --
toggle maximize tab

-- Nvim-tree
[Link]("n", "<leader>ee", ":NvimTreeToggle<CR>") --
toggle file explorer
[Link]("n", "<leader>er", ":NvimTreeFocus<CR>") -- toggle
focus to file explorer
[Link]("n", "<leader>ef", ":NvimTreeFindFile<CR>") --
find file in file explorer

-- Telescope
[Link]('n', '<leader>ff',
require('[Link]').find_files, {})
[Link]('n', '<leader>fg',
require('[Link]').live_grep, {})
[Link]('n', '<leader>fb',
require('[Link]').buffers, {})
[Link]('n', '<leader>fh',
require('[Link]').help_tags, {})
[Link]('n', '<leader>fs',
require('[Link]').current_buffer_fuzzy_find, {})
[Link]('n', '<leader>fo',
require('[Link]').lsp_document_symbols, {})
[Link]('n', '<leader>fi',
require('[Link]').lsp_incoming_calls, {})
[Link]('n', '<leader>fm', function()
require('[Link]').treesitter({default_text=":metho
d:"}) end)

-- Git-blame
[Link]("n", "<leader>gb", ":GitBlameToggle<CR>") --
toggle git blame

-- Harpoon
[Link]("n", "<leader>ha",
require("[Link]").add_file)
[Link]("n", "<leader>hh",
require("[Link]").toggle_quick_menu)
[Link]("n", "<leader>h1", function()
require("[Link]").nav_file(1) end)
[Link]("n", "<leader>h2", function()
require("[Link]").nav_file(2) end)
[Link]("n", "<leader>h3", function()
require("[Link]").nav_file(3) end)
[Link]("n", "<leader>h4", function()
require("[Link]").nav_file(4) end)
[Link]("n", "<leader>h5", function()
require("[Link]").nav_file(5) end)
[Link]("n", "<leader>h6", function()
require("[Link]").nav_file(6) end)
[Link]("n", "<leader>h7", function()
require("[Link]").nav_file(7) end)
[Link]("n", "<leader>h8", function()
require("[Link]").nav_file(8) end)
[Link]("n", "<leader>h9", function()
require("[Link]").nav_file(9) end)
-- Vim REST Console
[Link]("n", "<leader>xr", ":call VrcQuery()<CR>") -- Run
REST query

-- LSP
[Link]('n', '<leader>gg', '<cmd>lua
[Link]()<CR>')
[Link]('n', '<leader>gd', '<cmd>lua
[Link]()<CR>')
[Link]('n', '<leader>gD', '<cmd>lua
[Link]()<CR>')
[Link]('n', '<leader>gi', '<cmd>lua
[Link]()<CR>')
[Link]('n', '<leader>gt', '<cmd>lua
[Link].type_definition()<CR>')
[Link]('n', '<leader>gr', '<cmd>lua
[Link]()<CR>')
[Link]('n', '<leader>gs', '<cmd>lua
[Link].signature_help()<CR>')
[Link]('n', '<leader>rr', '<cmd>lua
[Link]()<CR>')
[Link]('n', '<leader>gf', '<cmd>lua
[Link]({async = true})<CR>')
[Link]('v', '<leader>gf', '<cmd>lua
[Link]({async = true})<CR>')
[Link]('n', '<leader>ga', '<cmd>lua
[Link].code_action()<CR>')
[Link]('n', '<leader>gl', '<cmd>lua
[Link].open_float()<CR>')
[Link]('n', '<leader>gp', '<cmd>lua
[Link].goto_prev()<CR>')
[Link]('n', '<leader>gn', '<cmd>lua
[Link].goto_next()<CR>')
[Link]('n', '<leader>tr', '<cmd>lua
[Link].document_symbol()<CR>')
[Link]('i', '<C-Space>', '<cmd>lua
[Link]()<CR>')

-- Debugging
[Link]("n", "<leader>bb", "<cmd>lua
require'dap'.toggle_breakpoint()<cr>")
[Link]("n", "<leader>bc", "<cmd>lua
require'dap'.set_breakpoint([Link]('Breakpoint
condition: '))<cr>")
[Link]("n", "<leader>bl", "<cmd>lua
require'dap'.set_breakpoint(nil, nil, [Link]('Log point
message: '))<cr>")
[Link]("n", '<leader>br', "<cmd>lua
require'dap'.clear_breakpoints()<cr>")
[Link]("n", '<leader>ba', '<cmd>Telescope dap
list_breakpoints<cr>')
[Link]("n", "<leader>dc", "<cmd>lua
require'dap'.continue()<cr>")
[Link]("n", "<leader>dj", "<cmd>lua
require'dap'.step_over()<cr>")
[Link]("n", "<leader>dk", "<cmd>lua
require'dap'.step_into()<cr>")
[Link]("n", "<leader>do", "<cmd>lua
require'dap'.step_out()<cr>")
[Link]("n", '<leader>dd', function()
require('dap').disconnect(); require('dapui').close(); end)
[Link]("n", '<leader>dt', function()
require('dap').terminate(); require('dapui').close(); end)
[Link]("n", "<leader>dr", "<cmd>lua
require'dap'.[Link]()<cr>")
[Link]("n", "<leader>dl", "<cmd>lua
require'dap'.run_last()<cr>")
[Link]("n", '<leader>di', function() require
"[Link]".hover() end)
[Link]("n", '<leader>d?', function() local widgets =
require "[Link]";
widgets.centered_float([Link]) end)
[Link]("n", '<leader>df', '<cmd>Telescope dap
frames<cr>')
[Link]("n", '<leader>dh', '<cmd>Telescope dap
commands<cr>')
[Link]("n", '<leader>de', function()
require('[Link]').diagnostics({default_text=":E:"}
) end)

You might also like