Skip to content

NavidSassan/dot_nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Config

Welcome to my personal Neovim config, and its incomplete documentation ;).

Always WIP.

Plugins

"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

Plugins that I am considering

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:

Plugins that I have decided against using

About

nvim config

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published