/ΛΙnvi mi:/
A MEticulous nvim distribution, crafted from scratch solely for ME with every features and keybindings configured to offer supreME comfort and compleMEnt ME workflow imMEnsely.
-
Neovim (Needs to be built with LuaJIT)
-
GCC: For compiling treesitter languages in Linux
-
Zig Compiler: For compiling treesitter languages in Windows
-
git: For git integration, cloning plugin repos etc.
-
ripgrep: For live grep
-
fd: For Find Files
-
vifm: File Manager
-
lazygit: Git UI
-
python: For Python Language Server & Black Formatter
-
nodejs: For other Language Servers and Formatters
-
live-server (npm): For local HTML Server
If any config is already present, it backups your config and puts NvME in place.
-
Suggested Compiler: GCC
ME=~/.config/nvim; [ -d $ME ] && mv $ME ${ME}_backup/
git clone https://github.com/MidHunterX/NvME $ME --depth 1 && nvim
set ME ~/.config/nvim; test -d $ME; and mv $ME {$ME}_backup
git clone https://github.com/MidHunterX/NvME $ME --depth 1 && nvim
Uninstalls NvME and returns back to previous config if any.
ME=~/.config/nvim; [ -d $ME ] && rm -rf $ME && mv ${ME}_backup/ $ME
set ME ~/.config/nvim; test -d $ME && rm -rf $ME; and mv ${ME}_backup/ $ME
-
From
:Mason
, Installpyright
Language Server -
Django uses some Python "magic" that makes having precise types for some code patterns problematic. To provide more precise static types and type inference for Django framework and be recognizable to pyright LSP, install:
pip install django-stubs
- Important Stuff on Top Left Side
-
Macro Record Status posess high importance until recording is stopped. Therefore it stays on left side only for the time being recorded for a macro.
- Less Important Stuff on Top Right Side
-
Buffer list is not needed at all times, therefore it doesnβt have that much importance to interfere with the code in buffer.
- Yank into System Clipboard by Default
-
Less hastle when copy pasting between windows frequently.
- Highlight Yanked Text for 150ms
-
Quickly know how much text got yanked when using direct yank commands.
- Scroll past EOF in buffer with
j
-
Personal preference for EOF to not be stuck at the bottom of the screen.
- Show Relative Line Number on Normal Mode
-
Thatβs the only time you need Relative Line Numbers for Jumping Lines.
- Show Normal Line Number on Insert Mode
-
Useful when doing substitution based on line numbers.
-
Autocompletion suggestions keep popping while typing
-
If the suggestion box is visible, you can do the following:
-
Select Next entries with:
C-n
,Down
-
Select Previous entries with:
C-p
,Up
-
Accept an entry with
CR
,i
,C-i
-
Cancel Completion with
C-e
,o
,C-o
If selected entry is a snippet, use TAB
& S-Tab
for jumping around.
Show Completion Workflows
Key | Description |
---|---|
|
Undo |
|
Redo |
|
Move cursor to start |
|
Move cursor to end |
|
Scroll Half page up with Cursor centered |
|
Scroll Half page down with Cursor centered |
|
Go to Previous Buffer |
|
Go to Next Buffer |
|
Leader Key |
|
Replace word under cursor with Regex |
|
Delete Current Buffer |
|
Deletes selection into blackhole register |
|
Deletes selection into blackhole register and paste |
|
Git Preview Hunk |
|
Git Goto Next Hunk |
|
Git Goto Previous Hunk |
Key | Description |
---|---|
|
Leader |
|
Move line Down with autoindent |
|
Move line Up with autoindent |
|
Indent line/selection to Left |
|
Indent line/selection to Right |
|
Move cursor to start |
|
Move cursor to end |
-
Navigate through code Functions/Methods with
aerial.nvim
-
Lazy Loading Plugin Manager
lazy.nvim
-
Autoclosing Braces and Tags with
nvim-autopairs
-
Disable Features on Large Files with
bigfile.nvim
-
Default Colorscheme:
catppuccin
-
Fancy Dashboard with
dashboard-nvim
-
Gitsigns on Signcolumn with
gitsigns.nvim
-
Install LSP servers, DAP servers, Linters and Formatters with
mason.nvim
-
NeoVim LSP Configuration with
nvim-lspconfig
-
Code Autocompletion with
nvim-cmp
-
Code Snippets with
luasnip
+friendly-snippets
-
Tab out of Brackets and Quotes with
neotab.nvim
-
Scope based Indentation Lines with
indent-blankline.nvim
-
Lazygit Integration with
lazygit.nvim
-
Fast Cursor Navigation with
leap.nvim
-
Bracket pair highlighting with
rainbow-delimiters.nvim
-
Status Line and Buffer Line with
lualine.nvim
-
Change, Delete surrounding brackets or quotes quickly with
nvim-surround
-
Fuzzy search project files, Grep text search etc. with
telescope.nvim
-
Navigate through undo history tree with
telescope-undo.nvim
-
ToDo, Bug, Hack comments highlighting with
todo-comments.nvim
-
Convert, Manipulate and Pick Colors with
ccc.nvim
-
Semantic based Syntax Highlighting with
nvim-treesitter
-
See code context on top with
nvim-treesitter-context
instead of breadcrumbs -
View live Treesitter parsing tree with
nvim-treesitter/playground
-
Added more text objects with
nvim-treesitter-textobjects
-
Manage and Explore files and folders with
vifm.vim
-
Visible Color Codes on buffer with
nvim-coloriser.lua
-
Distraction free Coding Zen Mode with
zen-mode.nvim
+twilight.nvim