Welcome to my personal Neovim config, and its incomplete documentation ;).
Always WIP.
"Smart and Powerful commenting plugin for neovim" with native treesitter support for calculating 'commentstring'.
Possible alternatives:
Keymappings:
Key | Action |
---|---|
gcc |
line-wise comment |
gbc |
block-wise comment |
gco |
add comment below current line |
gcO |
add comment above current line |
gcA |
add comment at the end of line |
Snippet engine written in Lua.
Keymappings:
Key | Action |
---|---|
<C-k> |
Expand the snippet under the cursor or jump to the next insert node |
<C-j> |
Jump to the previous insert node |
<C-l> |
Choose the next choice in a choice node |
Automatic list continuation and formatting for neovim, especially useful for Markdown editing.
Possible alternatives:
Keymappings:
Key | Action |
---|---|
<tab> |
indent the list item |
<c-tab> |
detent the list item |
<c-r> |
cycle list type or (un-)check checkboxes |
"nvim-cmp source for omnifunc." omnifunc allows other plugins to provide autocomplete options, for example vimtex.
"Tmux completion source for nvim-cmp."
Nice git diffs with filelists.
Possible alternatives:
Commands:
Command | Action |
---|---|
:DiffviewOpen origin/main...HEAD -- lua/diffview plugin |
show diff between origin/main and HEAD for lua/diffview and plugin |
:DiffviewRefresh |
Update stats and entries in the file list of the current Diffview |
:DiffviewFileHistory include/this and/this :!but/not/this |
Opens a new file history view that lists all commits that affected the given paths |
Adds support for EditorConfig to neovim. It sets settings like indentation based on the EditorConfig config file.
Hex editor inside vim.
Commands:
Command | Action |
---|---|
:HexDump |
show hex view |
:HexAssemble |
show "normal" view |
:HexToggle |
toggle between views |
"This plugin adds indentation guides to all lines (including empty lines). It uses Neovims virtual text feature and no conceal"
Possible alternatives:
"Leap is a general-purpose motion plugin"
Possible alternatives:
Keymappings:
Key | Action |
---|---|
r |
followed by 2 characters offers an selection to jump to one of the matches (after the cursor) |
R |
same as r , but backwards / before the cursor |
r |
same as r , but for operator-pending mode, for example after a d |
R |
same as R , but backwards and for operator-pending mode, for example after a d |
TODO: last two keybinds do not work
"Entering traversal mode after the first input is a useful shortcut, especially in operator-pending mode, but it can also be used as a substitute for normal-mode f/t motions. s{char}<enter>
is the same as f{char}, but works over multiple lines."
Show function signature as you type.
Helpers for configuring LSP servers.
"A blazing fast and easy to configure Neovim statusline written in Lua."
Possible alternatives:
"Markdown Preview for (Neo)vim". Really fast preview, and synchronises cursor position from neovim to browser.
Possible alternatives:
- peek.nvim (less features right now, requires deno for installation)
"bridges mason.nvim with the lspconfig plugin - making it easier to use both plugins together."
Note: run :PylspInstall pylsp-mypy pyls-isort pylsp-rope
after installing pylsp (see README).
"Neovim setup for init.lua and plugin development with full signature help, docs and completion for the nvim lua API."
"A completion engine plugin for neovim written in Lua."
Keymappings:
Key | Action |
---|---|
<C-d> |
scroll docs down |
<C-f> |
scroll docs up |
TODO: Description
Possible alternatives:
Keymappings:
Key | Action |
---|---|
1 | 2 |
Commands:
Command | Action |
---|---|
1 | 2 |
Installation:
sudo dnf install cmake gdb lldb rr g++ -y
"A simple statusline/winbar component that uses LSP to show your current code context." Useful for seeing the current position in large JSON files.
Commands:
Command | Action |
---|---|
:lua require'nvim-navic'.get_location() |
Returns a pretty string with context information. |
TODO: integrate in statusline.
"A Neovim plugin for setting the commentstring option based on the cursor location in the file. The location is checked via treesitter queries."
Comment.nvim has in-built treesitter support, but recommends to use this plugin for "advanced use cases".
Helped me prevent Comment.nvim: nil
messages.
"A vim-vinegar like file explorer that lets you edit your filesystem like a normal Neovim buffer", basically better vidir
.
Possible alternatives:
Keymappings:
Key | Action |
---|---|
- |
open parent directory |
"A Neovim plugin for toggling the LSP diagnostics. Turn all diagnostics on/off or turn on/off individual features of diagnostics (virtual text, underline, signs, etc...)."
Commands:
Command | Action |
---|---|
:ToggleDiag |
Toggle ALL diagnostics on/off |
"A simple, vimscript only, command runner for sending commands from vim to tmux." My fork of https://github.com/christoomey/vim-tmux-runner.
Key | Action |
---|---|
<leader>pa |
Attach to a pane |
<leader>r |
Run a command in the attached tmux pane |
<leader>sc |
Set the command to be run |
Provides a yank-ring, allowing cycling through the yank history on paste. Also highlights yanks and pastes.
Possible alternatives:
Keymappings:
Key | Action |
---|---|
<C-n> |
Cycle forward through the yank-ring. |
<C-p> |
Cycle backwards through the yank-ring. |
"More useful word motions for Vim". Makes the default word motions smaller, for CamelCase, snake_case, etc.
TODO: replace with https://github.com/backdround/neowords.nvim? or https://github.com/chrisgrieser/nvim-spider?
Description
Possible alternatives:
Keymappings:
Key | Action |
---|---|
1 | 2 |
Commands:
Command | Action |
---|---|
1 | 2 |
Also see my neovim todo GitHub stars.
allows pasting text without storing the overwritten text (at least that's what I'm hoping for)
possbile alternatives: