{"id":20491411,"url":"https://github.com/midhunterx/nvme","last_synced_at":"2025-04-13T16:54:48.064Z","repository":{"id":188177748,"uuid":"678069975","full_name":"MidHunterX/NvME","owner":"MidHunterX","description":"👨‍💻 A personalized NeoVim from scratch with all the features that I want for 100% comfortable development.","archived":false,"fork":false,"pushed_at":"2025-04-11T03:45:56.000Z","size":2198,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T04:28:50.843Z","etag":null,"topics":["ide","lua","neovim","neovim-config","rice"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MidHunterX.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-13T15:32:51.000Z","updated_at":"2025-04-11T03:46:00.000Z","dependencies_parsed_at":"2023-08-14T06:24:14.522Z","dependency_job_id":"5c1c31f6-e4eb-4edf-85a7-1012b32ba9a1","html_url":"https://github.com/MidHunterX/NvME","commit_stats":null,"previous_names":["midhunterx/hunterx-pde","midhunterx/nvme"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MidHunterX%2FNvME","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MidHunterX%2FNvME/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MidHunterX%2FNvME/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MidHunterX%2FNvME/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MidHunterX","download_url":"https://codeload.github.com/MidHunterX/NvME/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248750010,"owners_count":21155682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ide","lua","neovim","neovim-config","rice"],"created_at":"2024-11-15T17:23:43.462Z","updated_at":"2025-04-13T16:54:48.057Z","avatar_url":"https://github.com/MidHunterX.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"image:./img/nvim_dashboard.jpg[]\n\n= NvME\n/ˈɛnvi mi:/\n\nA **ME**ticulous nvim distribution, crafted from scratch solely for **ME** with\nevery features and keybindings configured to offer supre**ME** comfort and\ncomple**ME**nt **ME** workflow im**ME**nsely.\n\n== ⚡ Requirements\n\n* *Neovim* (Needs to be built with LuaJIT)\n* *GCC*: For compiling treesitter languages in Linux\n* *Zig Compiler*: For compiling treesitter languages in Windows\n* *git*: For git integration, cloning plugin repos etc.\n* *ripgrep*: For live grep\n* *fd*: For Find Files\n* *vifm*: File Manager\n* *lazygit*: Git UI\n* *python*: For Python Language Server \u0026 Black Formatter\n* *nodejs*: For other Language Servers and Formatters\n* *live-server* (npm): For local HTML Server\n* *Windsurf account*: Auth for AI code completion\n\n=== Install Requirements\n\n.🅐 Arch Based System (pacman)\n[source,bash]\n----\nsudo pacman -S neovim git ripgrep fd vifm lazygit python npm\nsudo npm install -g live-server\n----\n\n== 🚀 Install (backups prev config if any)\n\nIf any config is already present, it backups your config and puts NvME in place.\n\n=== 🐧 Linux\n\n* Suggested Compiler: *GCC*\n\n.bash / zsh\n[source,bash]\n----\nME=~/.config/nvim; [ -d $ME ] \u0026\u0026 mv $ME ${ME}_backup/\ngit clone https://github.com/MidHunterX/NvME $ME --depth 1 \u0026\u0026 nvim\n----\n\n.fish\n[source,fish]\n----\nset ME ~/.config/nvim; test -d $ME; and mv $ME {$ME}_backup\ngit clone https://github.com/MidHunterX/NvME $ME --depth 1 \u0026\u0026 nvim\n----\n\n=== 🪟 Windows\n\n* Suggested Compiler: *Zig Compiler*\n\n.powershell\n[source,pwsh]\n----\ngit clone https://github.com/MidHunterX/NvME $env:localappdata\\nvim --depth 1; nvim\n----\n\n.cmd\n[source,cmd]\n----\ngit clone https://github.com/MidHunterX/NvME %localappdata%\\nvim --depth 1 \u0026\u0026 nvim\n----\n\n== 🚶 Uninstall (go back to previous config if exists)\n\nUninstalls NvME and returns back to previous config if any.\n\n.bash / zsh\n[source,bash]\n----\nME=~/.config/nvim; [ -d $ME ] \u0026\u0026 rm -rf $ME \u0026\u0026 mv ${ME}_backup/ $ME\n----\n\n.fish\n[source,fish]\n----\nset ME ~/.config/nvim; test -d $ME \u0026\u0026 rm -rf $ME; and mv ${ME}_backup/ $ME\n----\n\n== 🌱 Development Environment Setup\n\n=== AI Code Completion\n\n* Authorize Windsurf (Codeium) using:\n\n----\n:Codeium Auth\n----\n\n* Insert completion using `\u003cC-f\u003e` just like how it is done in fish shell\n\n=== Python Django\n\n* From `:Mason`, Install `pyright` Language Server\n\n* 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:\n\n----\npip install django-stubs\n----\n\n=== Flutter\n\n----\nsudo pacman -S jdk21-openjdk\nsudo archlinux-java set java-21-openjdk\n----\n\n== 😇 Behaviours\n\nimage:./img/nvim_record.jpg[]\n\nImportant Stuff on Top Left Side::\nMacro Record Status posess high importance until recording is stopped.\nTherefore it stays on left side only for the time being recorded for a macro.\n\nLess Important Stuff on Top Right Side::\nBuffer list is not needed at all times, therefore it doesn't have that much\nimportance to interfere with the code in buffer.\n\nYank into System Clipboard by Default::\nLess hastle when copy pasting between windows frequently.\n\nHighlight Yanked Text for 150ms::\nQuickly know how much text got yanked when using direct yank commands.\n\nScroll past EOF in buffer with `j`::\nPersonal preference for EOF to not be stuck at the bottom of the screen.\n\nShow Relative Line Number on Normal Mode::\nThat's the only time you need Relative Line Numbers for Jumping Lines.\n\nShow Normal Line Number on Insert Mode::\nUseful when doing substitution based on line numbers.\n\n== 🛂 Custom Features\n\nimage:./img/nvim_hitfont.jpg[]\n\n* Convert text to Hit Font with `:HitFont`\n* Toggle Boolean Values with `C-a`\n* Trim trailing lines and Write Buffer with `\u003cleader\u003ew`\n* Git add . + commit -m with `\u003cleader\u003egc` (Replaced with Lazygit)\n* Execute files with `F5` or `:lua Execute_order_69()`\n* Run file formatter with `\u003cleader\u003efm` or `:lua Run_formatter()`\n\n== 📝 Autocompletion Behaviour\n\nimage:./img/nvim_cmp.jpg[]\n\n* Autocompletion suggestions keep popping while typing\n* If the suggestion box is visible, you can do the following:\n* Select Next entries with: `C-n`, `Down`\n* Select Previous entries with: `C-p`, `Up`\n* Accept an entry with `CR`, `i`, `C-i`\n* Cancel Completion with `C-e`, `o`, `C-o`\n\nNote: `TAB` does multiple things here\n\n* If accepted entry is a snippet and snippet is expanded, use `TAB` \u0026 `S-Tab` for jumping around the snippet fields.\n* If autocompletion menu is visible, use `TAB` to select LSP pre-selected entry.\n* If LSP pre-selected entry is not available in menu, `TAB` will select the first entry.\n* If menu and snippet are both not visible, `TAB` will jump over quotes and brackets.\n* If quotes and brackets are not available, `TAB` will act as normal `TAB`.\n\n.`Show Completion Workflows`\n[%collapsible]\n====\n\n[discrete]\n=== Autocompletion: Terminal Style\n[source,yaml]\n----\nSelect: Tab, S-Tab\nAccept: Enter\n----\n\n[discrete]\n=== Autocompletion: Ide Style\n[source,yaml]\n----\nSelect: Down, Up\nAccept: Enter\n----\n\n[discrete]\n=== Autocompletion: Vim / Emacs Style\n[source,yaml]\n----\nSelect: C-n, C-p\nAccept: Enter\nReject: C-e\n----\n\n[discrete]\n=== Autocompletion: Personal Style\n[source,yaml]\n----\nSelect: Down, Up / Tab, S-Tab\nAccept: i\nReject: o\n----\n\n====\n\n== 🗺️ Custom Key Remaps\n\n=== Normal Mode\n[%header]\n|===\n| Key          | Description\n| `u`          | Undo\n| `U`          | Redo\n| `H`          | Move cursor to start `^` of a line\n| `L`          | Move cursor to end `$` of a line\n| `\u003cC-u\u003e`      | Scroll Half page up with Cursor centered\n| `\u003cC-d\u003e`      | Scroll Half page down with Cursor centered\n| `\u003cA-h\u003e`      | Go to Previous Buffer\n| `\u003cA-l\u003e`      | Go to Next Buffer\n| `\u003cSpace\u003e`    | Leader Key\n| `\u003cleader\u003err` | Replace word under cursor with Regex\n| `\u003cleader\u003ex`  | Delete Current Buffer\n| `\u003cleader\u003ed`  | Deletes selection into blackhole register\n| `\u003cleader\u003ep`  | Deletes selection into blackhole register and paste\n| `ghh`        | Git Preview Hunk\n| `ghn`        | Git Goto Next Hunk\n| `ghp`        | Git Goto Previous Hunk\n|===\n\n=== Visual Mode\n[%header]\n|===\n| Key       | Description\n| `\u003cSpace\u003e` | Leader\n| `J`       | Move line Down with autoindent\n| `K`       | Move line Up with autoindent\n| `\u003c`       | Indent line/selection to Left\n| `\u003e`       | Indent line/selection to Right\n| `H`       | Move cursor to start `^` of a line\n| `L`       | Move cursor to end `$` of a line\n|===\n\n=== Terminal Mode\n[%header]\n|===\n| Key      | Description\n| `\u003cC-w\u003en` | Return to Normal Mode\n|===\n\n== 📕 More Text Objects\n\n=== Default Text Objects\n[%header]\n|===\n| Default Text Objects    | Description\n| `p`                     | Paragraph\n| `w`                     | Word\n| `\"` `'` `'` `\"`         | Strings\n| `[` `{` `(` `)` `}` `]` | Brackets\n| `t`                     | Markup Tags\n|===\n\n=== Added Text Objects\n[%header]\n|===\n| New Text Objects | Description\n| `i`              | Conditional\n| `l`              | Loop\n| `f`              | Function\n| `m`              | Method\n| `c`              | Class\n| `a`              | Argument\n| `=`              | Assignment\n| `:`              | Propery\n|===\n\n== 🔌 Plugins\n\nimage:./img/nvim_plugins.jpg[]\n\n* Navigate through code Functions/Methods with `aerial.nvim`\n* Lazy Loading Plugin Manager `lazy.nvim`\n* Autoclosing Braces and Tags with `nvim-autopairs`\n* Disable Features on Large Files with `bigfile.nvim`\n* Default Colorscheme: `catppuccin`\n* Fancy Dashboard with `dashboard-nvim`\n* Gitsigns on Signcolumn with `gitsigns.nvim`\n* Install LSP servers, DAP servers, Linters and Formatters with `mason.nvim`\n* NeoVim LSP Configuration with `nvim-lspconfig`\n* Code Autocompletion with `nvim-cmp`\n* Code Snippets with `luasnip` + `friendly-snippets`\n* Tab out of Brackets and Quotes with `neotab.nvim`\n* Scope based Indentation Lines with `indent-blankline.nvim`\n* Lazygit Integration with `lazygit.nvim`\n* Fast Cursor Navigation with `leap.nvim`\n* Bracket pair highlighting with `rainbow-delimiters.nvim`\n* Status Line and Buffer Line with `lualine.nvim`\n* Change, Delete surrounding brackets or quotes quickly with `nvim-surround`\n* Fuzzy search project files, Grep text search etc. with `telescope.nvim`\n* Navigate through undo history tree with `telescope-undo.nvim`\n* ToDo, Bug, Hack comments highlighting with `todo-comments.nvim`\n* Convert, Manipulate and Pick Colors with `ccc.nvim`\n* Semantic based Syntax Highlighting with `nvim-treesitter`\n* See code context on top with `nvim-treesitter-context` instead of breadcrumbs\n* View live Treesitter parsing tree with `nvim-treesitter/playground`\n* Added more text objects with `nvim-treesitter-textobjects`\n* Manage and Explore files and folders with `vifm.vim`\n* Visible Color Codes on buffer with `nvim-coloriser.lua`\n* Distraction free Coding Zen Mode with `zen-mode.nvim` + `twilight.nvim`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmidhunterx%2Fnvme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmidhunterx%2Fnvme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmidhunterx%2Fnvme/lists"}