Targets Python, Bash, LaTeX, Markdown, and C/C++. See the Knvim Config Cheat Sheet
- Install and initialize:
lazyman -L Knvim - Configuration category: Language
- Base configuration: Custom
- Plugin manager: Lazy
- Installation location:
~/.config/nvim-Knvim
Git repository
https://github.com/knmac/knvim
Dotfyle entry
https://dotfyle.com/knmac/knvim
Lazy managed plugins
Knvim Keymaps
Normal mode keymaps
| Description | Switch python env |
|---|
| Left hand side | e |
| Right hand side | |
| Description | |
|---|
| Left hand side | s |
| Right hand side | <Cmd>SessionManager load_session<CR> |
| Description | |
|---|
| Left hand side | n |
| Right hand side | <Cmd>Telescope notify<CR> |
| Description | |
|---|
| Left hand side | ? |
| Right hand side | <Cmd>Telescope commands<CR> |
| Description | |
|---|
| Left hand side | h |
| Right hand side | <Cmd>Telescope help_tags<CR> |
| Description | |
|---|
| Left hand side | w |
| Right hand side | <Cmd>Telescope file_browser<CR> |
| Description | |
|---|
| Left hand side | v |
| Right hand side | <Cmd>Telescope vim_options<CR> |
| Description | |
|---|
| Left hand side | c |
| Right hand side | <Cmd>Telescope bibtex<CR> |
| Description | |
|---|
| Left hand side | / |
| Right hand side | <Cmd>Telescope current_buffer_fuzzy_find<CR> |
| Description | |
|---|
| Left hand side | b |
| Right hand side | <Cmd>Telescope buffers<CR> |
| Description | |
|---|
| Left hand side | t |
| Right hand side | <Cmd>Telescope live_grep<CR> |
| Description | |
|---|
| Left hand side | f |
| Right hand side | <Cmd>Telescope find_files<CR> |
| Description | |
|---|
| Left hand side | |
| Right hand side | <Cmd>Telescope<CR> |
| Description | |
|---|
| Left hand side | % |
| Right hand side | <Plug>(matchup-%) |
| Description | Nvim builtin |
|---|
| Left hand side | & |
| Right hand side | :&&<CR> |
| Description | DAP: Terminate debugging |
|---|
| Left hand side | ,t |
| Right hand side | |
| Description | DAP: Step out |
|---|
| Left hand side | ,u |
| Right hand side | |
| Description | DAP: Step into |
|---|
| Left hand side | ,s |
| Right hand side | |
| Description | DAP: Step over |
|---|
| Left hand side | ,n |
| Right hand side | |
| Description | DAP: Toggle breakpoint with condition |
|---|
| Left hand side | ,B |
| Right hand side | |
| Description | DAP: Toggle breakpoint |
|---|
| Left hand side | ,b |
| Right hand side | |
| Description | DAP: Run the last debug adapter entry |
|---|
| Left hand side | ,l |
| Right hand side | |
| Description | DAP: Start/Continue debugging |
|---|
| Left hand side | ,c |
| Right hand side | |
| Description | DAP: Check variable value on hover |
|---|
| Left hand side | ,k |
| Right hand side | |
| Description | DAP: Open default REPL |
|---|
| Left hand side | ,D |
| Right hand side | |
| Description | DAP: Toggle UI |
|---|
| Left hand side | ,d |
| Right hand side | |
| Description | |
|---|
| Left hand side | S |
| Right hand side | <Cmd>PounceRepeat<CR> |
| Description | Nvim builtin |
|---|
| Left hand side | Y |
| Right hand side | y$ |
| Description | |
|---|
| Left hand side | [% |
| Right hand side | <Plug>(matchup-[%) |
| Description | LSP: Go to the previous diagnostic |
|---|
| Left hand side | [e |
| Right hand side | |
| Description | LSP: Show all diagnostics |
|---|
| Left hand side | \E |
| Right hand side | |
| Description | LSP: Show diagnostics of the current line |
|---|
| Left hand side | \e |
| Right hand side | |
| Description | DAP: Dismiss current notify message |
|---|
| Left hand side | \n |
| Right hand side | |
| Description | |
|---|
| Left hand side | \= |
| Right hand side | :call FillLine("=")<CR> |
| Description | |
|---|
| Left hand side | \- |
| Right hand side | :call FillLine("-")<CR> |
| Description | |
|---|
| Left hand side | \z |
| Right hand side | <Cmd>ZenMode<CR> |
| Description | |
|---|
| Left hand side | \o |
| Right hand side | <Cmd>SymbolsOutline<CR> |
| Description | |
|---|
| Left hand side | \T |
| Right hand side | <Cmd>Neotree reveal<CR> |
| Description | |
|---|
| Left hand side | \t |
| Right hand side | <Cmd>Neotree toggle<CR> |
| Description | |
|---|
| Left hand side | \d |
| Right hand side | <Cmd>Neogen<CR> |
| Description | |
|---|
| Left hand side | \a |
| Right hand side | <Plug>(EasyAlign) |
| Description | |
|---|
| Left hand side | ]% |
| Right hand side | <Plug>(matchup-]%) |
| Description | LSP: Go to the next diagnostic |
|---|
| Left hand side | ]e |
| Right hand side | |
| Description | |
|---|
| Left hand side | gx |
| Right hand side | <Plug>NetrwBrowseX |
| Description | |
|---|
| Left hand side | g% |
| Right hand side | <Plug>(matchup-g%) |
| Description | Comment insert end of line |
|---|
| Left hand side | gcA |
| Right hand side | |
| Description | Comment insert above |
|---|
| Left hand side | gcO |
| Right hand side | |
| Description | Comment insert below |
|---|
| Left hand side | gco |
| Right hand side | |
| Description | Comment toggle current block |
|---|
| Left hand side | gbc |
| Right hand side | |
| Description | Comment toggle current line |
|---|
| Left hand side | gcc |
| Right hand side | |
| Description | Comment toggle blockwise |
|---|
| Left hand side | gb |
| Right hand side | <Plug>(comment_toggle_blockwise) |
| Description | Comment toggle linewise |
|---|
| Left hand side | gc |
| Right hand side | <Plug>(comment_toggle_linewise) |
| Description | |
|---|
| Left hand side | s |
| Right hand side | <Cmd>Pounce<CR> |
| Description | |
|---|
| Left hand side | z% |
| Right hand side | <Plug>(matchup-z%) |
| Description | |
|---|
| Left hand side | <Plug>NetrwBrowseX |
| Right hand side | :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<CR> |
| Description | |
|---|
| Left hand side | <Plug>luasnip-expand-repeat |
| Right hand side | |
| Description | |
|---|
| Left hand side | <Plug>luasnip-delete-check |
| Right hand side | |
| Description | |
|---|
| Left hand side | <Plug>(EasyAlignOperator) |
| Right hand side | :set opfunc=<SNR>28_easy_align_op<CR>g@ |
| Description | |
|---|
| Left hand side | <Plug>(EasyAlignRepeat) |
| Right hand side | :call <SNR>28_easy_align_repeat()<CR> |
| Description | |
|---|
| Left hand side | <Plug>(LiveEasyAlign) |
| Right hand side | :set opfunc=<SNR>28_live_easy_align_op<CR>g@ |
| Description | |
|---|
| Left hand side | <Plug>(EasyAlign) |
| Right hand side | :set opfunc=<SNR>28_easy_align_op<CR>g@ |
| Description | |
|---|
| Left hand side | <2-LeftMouse> |
| Right hand side | <Plug>(matchup-double-click) |
| Description | |
|---|
| Left hand side | <Plug>(matchup-reload) |
| Right hand side | :<C-U>MatchupReload<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-double-click) |
| Right hand side | :<C-U>call matchup#text_obj#double_click()<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-Z%) |
| Right hand side | :<C-U>call matchup#motion#jump_inside_prev(0)<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-z%) |
| Right hand side | :<C-U>call matchup#motion#jump_inside(0)<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-[%) |
| Right hand side | :<C-U>call matchup#motion#find_unmatched(0, 0)<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-]%) |
| Right hand side | :<C-U>call matchup#motion#find_unmatched(0, 1)<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-g%) |
| Right hand side | :<C-U>call matchup#motion#find_matching_pair(0, 0)<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-%) |
| Right hand side | :<C-U>call matchup#motion#find_matching_pair(0, 1)<CR> |
| Description | |
|---|
| Left hand side | <SNR>22_(wise) |
| Right hand side | empty(g:v_motion_force) ? 'v' : g:v_motion_force |
| Description | |
|---|
| Left hand side | <Plug>(matchup-hi-surround) |
| Right hand side | :<C-U>call matchup#matchparen#highlight_surrounding()<CR> |
| Description | Comment toggle blockwise with count |
|---|
| Left hand side | <Plug>(comment_toggle_blockwise_count) |
| Right hand side | |
| Description | Comment toggle linewise with count |
|---|
| Left hand side | <Plug>(comment_toggle_linewise_count) |
| Right hand side | |
| Description | Comment toggle current block |
|---|
| Left hand side | <Plug>(comment_toggle_blockwise_current) |
| Right hand side | |
| Description | Comment toggle current line |
|---|
| Left hand side | <Plug>(comment_toggle_linewise_current) |
| Right hand side | |
| Description | Comment toggle blockwise |
|---|
| Left hand side | <Plug>(comment_toggle_blockwise) |
| Right hand side | |
| Description | Comment toggle linewise |
|---|
| Left hand side | <Plug>(comment_toggle_linewise) |
| Right hand side | |
| Description | |
|---|
| Left hand side | <Plug>PlenaryTestFile |
| Right hand side | :lua require('plenary.test_harness').test_directory(vim.fn.expand("%:p"))<CR> |
| Description | Move to previous reference |
|---|
| Left hand side | <M-p> |
| Right hand side | |
| Description | Move to next reference |
|---|
| Left hand side | <M-n> |
| Right hand side | |
| Description | |
|---|
| Left hand side | <F24> |
| Right hand side | <Cmd>Alpha<CR> |
| Description | |
|---|
| Left hand side | <F12> |
| Right hand side | <Cmd>set nu rnu!<CR> |
| Description | |
|---|
| Left hand side | <F23> |
| Right hand side | <Cmd>ColorizerToggle<CR> |
| Description | |
|---|
| Left hand side | <F11> |
| Right hand side | <Cmd>ZenMode<CR> |
| Description | |
|---|
| Left hand side | <F22> |
| Right hand side | <Cmd>make clean<CR> |
| Description | |
|---|
| Left hand side | <F10> |
| Right hand side | <Cmd>make<CR> |
| Description | |
|---|
| Left hand side | <F21> |
| Right hand side | <Cmd>ClearRegisters<CR> |
| Description | |
|---|
| Left hand side | <F9> |
| Right hand side | <Cmd>%s/\s\+$//e<CR> |
| Description | |
|---|
| Left hand side | <F20> |
| Right hand side | <Cmd>tabclose<CR> |
| Description | |
|---|
| Left hand side | <F8> |
| Right hand side | <Cmd>BufferClose<CR> |
| Description | |
|---|
| Left hand side | <F19> |
| Right hand side | <Cmd>tabnext<CR> |
| Description | |
|---|
| Left hand side | <F7> |
| Right hand side | <Cmd>BufferNext<CR> |
| Description | |
|---|
| Left hand side | <F18> |
| Right hand side | <Cmd>tabprevious<CR> |
| Description | |
|---|
| Left hand side | <F6> |
| Right hand side | <Cmd>BufferPrevious<CR> |
| Description | |
|---|
| Left hand side | <F17> |
| Right hand side | <Cmd>tabs<CR> |
| Description | |
|---|
| Left hand side | <F5> |
| Right hand side | <Cmd>Telescope buffers<CR> |
| Description | |
|---|
| Left hand side | <F16> |
| Right hand side | <Cmd>Telescope diagnostics<CR> |
| Description | |
|---|
| Left hand side | <F4> |
| Right hand side | <Cmd>SymbolsOutline<CR> |
| Description | |
|---|
| Left hand side | <F15> |
| Right hand side | <Cmd>Neotree dir=%:p:h<CR> |
| Description | |
|---|
| Left hand side | <F3> |
| Right hand side | <Cmd>Neotree toggle<CR> |
| Description | |
|---|
| Left hand side | <F14> |
| Right hand side | <Cmd>TodoTelescope<CR> |
| Description | |
|---|
| Left hand side | <F2> |
| Right hand side | <Cmd>lua vim.lsp.buf.rename()<CR> |
| Description | |
|---|
| Left hand side | <F13> |
| Right hand side | <Cmd>Telescope keymaps<CR> |
| Description | |
|---|
| Left hand side | <F1> |
| Right hand side | <Cmd>Telescope help_tags<CR> |
| Description | |
|---|
| Left hand side | <C-/> |
| Right hand side | |
| Description | |
|---|
| Left hand side | <M-C-P> |
| Right hand side | <Cmd>BufferPin<CR> |
| Description | |
|---|
| Left hand side | <M-C-S-L> |
| Right hand side | <Cmd>BufferMoveNext<CR> |
| Description | |
|---|
| Left hand side | <M-C-S-K> |
| Right hand side | <Cmd>BufferClose<CR> |
| Description | |
|---|
| Left hand side | <M-C-S-J> |
| Right hand side | <Cmd>BufferRestore<CR> |
| Description | |
|---|
| Left hand side | <M-C-S-H> |
| Right hand side | <Cmd>BufferMovePrevious<CR> |
| Description | |
|---|
| Left hand side | <M-C-L> |
| Right hand side | <Cmd>BufferNext<CR> |
| Description | |
|---|
| Left hand side | <M-C-K> |
| Right hand side | <Cmd>BufferPickDelete<CR> |
| Description | |
|---|
| Left hand side | <M-C-J> |
| Right hand side | <Cmd>BufferPick<CR> |
| Description | |
|---|
| Left hand side | <M-C-H> |
| Right hand side | <Cmd>BufferPrevious<CR> |
| Description | |
|---|
| Left hand side | <M-L> |
| Right hand side | <C-W>l<C-W>x |
| Description | |
|---|
| Left hand side | <M-K> |
| Right hand side | <C-W>k<C-W>x |
| Description | |
|---|
| Left hand side | <M-J> |
| Right hand side | <C-W>j<C-W>x |
| Description | |
|---|
| Left hand side | <M-H> |
| Right hand side | <C-W>h<C-W>x |
| Description | |
|---|
| Left hand side | <M-l> |
| Right hand side | <C-W>l |
| Description | |
|---|
| Left hand side | <M-k> |
| Right hand side | <C-W>k |
| Description | |
|---|
| Left hand side | <M-j> |
| Right hand side | <C-W>j |
| Description | |
|---|
| Left hand side | <M-h> |
| Right hand side | <C-W>h |
| Description | Nvim builtin |
|---|
| Left hand side | <C-L> |
| Right hand side | <Cmd>nohlsearch|diffupdate|normal! <C-L><CR> |
Visual mode keymaps
| Description | Nvim builtin |
|---|
| Left hand side | # |
| Right hand side | y?\V<C-R>"<CR> |
| Description | |
|---|
| Left hand side | % |
| Right hand side | <Plug>(matchup-%) |
| Description | Nvim builtin |
|---|
| Left hand side | * |
| Right hand side | y/\V<C-R>"<CR> |
| Description | |
|---|
| Left hand side | <lt> |
| Right hand side | <lt>gv |
| Description | |
|---|
| Left hand side | > |
| Right hand side | >gv |
| Description | |
|---|
| Left hand side | [% |
| Right hand side | <Plug>(matchup-[%) |
| Description | |
|---|
| Left hand side | \a |
| Right hand side | <Plug>(EasyAlign) |
| Description | |
|---|
| Left hand side | ]% |
| Right hand side | <Plug>(matchup-]%) |
| Description | |
|---|
| Left hand side | a% |
| Right hand side | <Plug>(matchup-a%) |
| Description | |
|---|
| Left hand side | gx |
| Right hand side | <Plug>NetrwBrowseXVis |
| Description | Comment toggle blockwise (visual) |
|---|
| Left hand side | gb |
| Right hand side | <Plug>(comment_toggle_blockwise_visual) |
| Description | Comment toggle linewise (visual) |
|---|
| Left hand side | gc |
| Right hand side | <Plug>(comment_toggle_linewise_visual) |
| Description | |
|---|
| Left hand side | g% |
| Right hand side | <Plug>(matchup-g%) |
| Description | |
|---|
| Left hand side | i% |
| Right hand side | <Plug>(matchup-i%) |
| Description | |
|---|
| Left hand side | s |
| Right hand side | <Cmd>Pounce<CR> |
| Description | |
|---|
| Left hand side | z% |
| Right hand side | <Plug>(matchup-z%) |
| Description | |
|---|
| Left hand side | <Plug>NetrwBrowseXVis |
| Right hand side | :<C-U>call netrw#BrowseXVis()<CR> |
| Description | |
|---|
| Left hand side | <M-i> |
| Right hand side | |
| Description | Comment toggle blockwise (visual) |
|---|
| Left hand side | <Plug>(comment_toggle_blockwise_visual) |
| Right hand side | <Esc><Cmd>lua require("Comment.api").locked("toggle.blockwise")(vim.fn.visualmode())<CR> |
| Description | Comment toggle linewise (visual) |
|---|
| Left hand side | <Plug>(comment_toggle_linewise_visual) |
| Right hand side | <Esc><Cmd>lua require("Comment.api").locked("toggle.linewise")(vim.fn.visualmode())<CR> |
| Description | |
|---|
| Left hand side | <Plug>luasnip-expand-repeat |
| Right hand side | |
| Description | |
|---|
| Left hand side | <Plug>(matchup-a%) |
| Right hand side | :<C-U>call matchup#text_obj#delimited(0, 1, 'delim_all')<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-i%) |
| Right hand side | :<C-U>call matchup#text_obj#delimited(1, 1, 'delim_all')<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-Z%) |
| Right hand side | <SNR>15_(matchup-Z%) |
| Description | |
|---|
| Left hand side | <SNR>15_(matchup-Z%) |
| Right hand side | :<C-U>call matchup#motion#jump_inside_prev(1)<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-z%) |
| Right hand side | <SNR>15_(matchup-z%) |
| Description | |
|---|
| Left hand side | <SNR>15_(matchup-z%) |
| Right hand side | :<C-U>call matchup#motion#jump_inside(1)<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-[%) |
| Right hand side | <SNR>15_(matchup-[%) |
| Description | |
|---|
| Left hand side | <Plug>(matchup-]%) |
| Right hand side | <SNR>15_(matchup-]%) |
| Description | |
|---|
| Left hand side | <SNR>15_(matchup-[%) |
| Right hand side | :<C-U>call matchup#motion#find_unmatched(1, 0)<CR> |
| Description | |
|---|
| Left hand side | <SNR>15_(matchup-]%) |
| Right hand side | :<C-U>call matchup#motion#find_unmatched(1, 1)<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-g%) |
| Right hand side | <SNR>15_(matchup-g%) |
| Description | |
|---|
| Left hand side | <SNR>15_(matchup-g%) |
| Right hand side | :<C-U>call matchup#motion#find_matching_pair(1, 0)<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-%) |
| Right hand side | <SNR>15_(matchup-%) |
| Description | |
|---|
| Left hand side | <SNR>15_(matchup-%) |
| Right hand side | :<C-U>call matchup#motion#find_matching_pair(1, 1)<CR> |
| Description | |
|---|
| Left hand side | <Plug>(EasyAlignRepeat) |
| Right hand side | :<C-U>call <SNR>7_repeat_in_visual()<CR> |
| Description | |
|---|
| Left hand side | <Plug>(LiveEasyAlign) |
| Right hand side | :<C-U>call <SNR>7_live_easy_align_op(visualmode(), 1)<CR> |
| Description | |
|---|
| Left hand side | <Plug>(EasyAlign) |
| Right hand side | :<C-U>call <SNR>7_easy_align_op(visualmode(), 1)<CR> |
Operator mode keymaps
| Description | |
|---|
| Left hand side | % |
| Right hand side | <Ignore><Plug>(matchup-%) |
| Description | |
|---|
| Left hand side | [% |
| Right hand side | <Plug>(matchup-[%) |
| Description | |
|---|
| Left hand side | ]% |
| Right hand side | <Plug>(matchup-]%) |
| Description | |
|---|
| Left hand side | a% |
| Right hand side | <Plug>(matchup-a%) |
| Description | |
|---|
| Left hand side | g% |
| Right hand side | <Ignore><Plug>(matchup-g%) |
| Description | |
|---|
| Left hand side | gs |
| Right hand side | <Cmd>Pounce<CR> |
| Description | |
|---|
| Left hand side | i% |
| Right hand side | <Plug>(matchup-i%) |
| Description | |
|---|
| Left hand side | z% |
| Right hand side | <Plug>(matchup-z%) |
| Description | |
|---|
| Left hand side | <Plug>(matchup-a%) |
| Right hand side | :<C-U>call matchup#text_obj#delimited(0, 0, 'delim_all')<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-i%) |
| Right hand side | :<C-U>call matchup#text_obj#delimited(1, 0, 'delim_all')<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-Z%) |
| Right hand side | :<C-U>call matchup#motion#op('Z%')<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-z%) |
| Right hand side | :<C-U>call matchup#motion#op('z%')<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-[%) |
| Right hand side | :<C-U>call matchup#motion#op('[%')<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-]%) |
| Right hand side | :<C-U>call matchup#motion#op(']%')<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-g%) |
| Right hand side | :<C-U>call matchup#motion#op('g%')<CR> |
| Description | |
|---|
| Left hand side | <Plug>(matchup-%) |
| Right hand side | :<C-U>call matchup#motion#op('%')<CR> |
| Description | |
|---|
| Left hand side | <Plug>luasnip-expand-repeat |
| Right hand side | |
| Description | |
|---|
| Left hand side | <M-i> |
| Right hand side | |