{"id":20196043,"url":"https://github.com/thehxdev/nvimdots","last_synced_at":"2025-03-03T08:13:33.137Z","repository":{"id":41581400,"uuid":"510301501","full_name":"thehxdev/nvimdots","owner":"thehxdev","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-28T20:58:08.000Z","size":114,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T23:45:21.560Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thehxdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-07-04T09:51:02.000Z","updated_at":"2025-02-28T20:58:11.000Z","dependencies_parsed_at":"2024-06-26T23:15:36.730Z","dependency_job_id":"9eeaefeb-0321-4618-bb27-d14ea9b133e1","html_url":"https://github.com/thehxdev/nvimdots","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thehxdev%2Fnvimdots","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thehxdev%2Fnvimdots/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thehxdev%2Fnvimdots/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thehxdev%2Fnvimdots/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thehxdev","download_url":"https://codeload.github.com/thehxdev/nvimdots/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241629770,"owners_count":19993710,"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":[],"created_at":"2024-11-14T04:21:23.406Z","updated_at":"2025-03-03T08:13:33.107Z","avatar_url":"https://github.com/thehxdev.png","language":"Lua","readme":"# HxDev Neovim\n\nMy Neovim configuration that I use for programming.\n\n\n## Prerequisites\n\n- Neovim \u003e= 0.9.0 (version 0.9.0 or newer)\n- a Nerd Font ([Nerd Fonts](https://www.nerdfonts.com))\n- a modern terminal emulator like [Alacritty](https://github.com/alacritty/alacritty)(Recommended) or [Kitty](https://sw.kovidgoyal.net/kitty/)\n- `fd` and `ripgrep` programs used for `Telescope.nvim` plugin for fuzzy finding.\n\n\u003e [!NOTE]\n\u003e It's better to set your terminal colorscheme same as neovim colorscheme.\n\n## How to setup\n\nAfter you have all the prerequisites, it's time to setup Neovim.\n\n\n1. If you already have a configuration for Neovim make a backup:\n```bash\n# make a .tar.gz archive file from old configurations to ~/nvim-backup.tar.gz\ntar xzvf ~/nvim-backup.tar.gz ~/.config/nvim\n\n# remove old configs and also old Neovim data\nrm -rf ~/.local/share/nvim ~/.config/nvim\n```\n\n\n2. Clone this configuration\n```bash\ngit clone --depth=1 --branch=main https://github.com/thehxdev/nvimdots ~/.config/nvim\n```\n\n\n3. Enter to Neovim with `nvim` command and wait to `lazy.nvim` plugin install itself.\n\n\n## Features\n\nNOTE: I'm using this configuration on [NixOS](https://nixos.org/). To setup LSP support for your language, you must\ndo some manual work.\n\n- Plugin Management with [Lazy.nvim](https://github.com/folke/lazy.nvim)\n- LSP support for every language that Neovim supportes (Manual Setup)\n- LSP Diagnostics report and IDE like features\n    - [Which languages supported by Neovim's LSP?](https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md)\n    - Edit [lspconf.lua](https://github.com/thehxdev/nvimdots/blob/main/lua/lspconf.lua) file and uncomment pre-configured LSPs.\n- Auto completions using [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)\n- Tree-Sitter syntax highliting\n- File navigation with NeoTree (Integrated with Git)\n- Fuzzy finder ([Telescope.nvim](https://github.com/nvim-telescope/telescope.nvim))\n- Complete Git integration with [Gitsigns](https://github.com/lewis6991/gitsigns.nvim)\n- Show help messege with prefixed keymaps with [whichkey](https://github.com/folke/which-key.nvim)\n\n\n## LSP\n\nNeovim LSP Documentation.\n\n### Q\u0026A\n\n- [Which languages supported by Neovim's LSP?](https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md)\n\n### How to configure a programming language's LSP server?\n\n1. First visit [Server Configurations](https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md) and install proper LSP server.\n\n2. If you already installed LSP server, open [lspconf.lua](https://github.com/thehxdev/nvimdots/blob/main/lua/lspconf.lua) with Neovim.\nTry to find your programming language and uncomment the code block that configures that language's LSP.\n\n3. If your language or LSP server not found in `lspoconf.lua`. follow guids in [Server Configurations](https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md).\n\n\n## Keymaps\n\nKeymaps used in this configuration.\n\n**NOTE: In the tables below you see `LR` key. this referes to `Space` key which is configured\nas leader key.**\n\n### Window\n\n| Keymap     \t| Actoin                                  \t|\n|------------\t|-----------------------------------------\t|\n| `ctrl + h` \t| Focuse on left window                   \t|\n| `ctrl + l` \t| Focuse on right window                  \t|\n| `ctrl + j` \t| Focuse on bottom window                 \t|\n| `ctrl + k` \t| Focuse on top window                    \t|\n| `ctrl + 🠖` \t| resize current window to the right side \t|\n| `ctrl + 🠔` \t| resize current window to the left side  \t|\n| `ctrl + 🠗` \t| resize current window to the down side  \t|\n| `ctrl + 🠕` \t| resize current window to the up side    \t|\n\n\n### Buffer\n\n| Keymap      \t| Actoin                    \t|\n|-------------\t|---------------------------\t|\n| `Shift + h` \t| Focuse on next buffer     \t|\n| `Shift + l` \t| Focuse on previous buffer \t|\n| `Shift + m` \t| kill (delete) buffer      \t|\n\n\n### Visual mode (v)\n\nThis keymaps work if you in the vim's visual-mode (`visual-line`, `visual-mode`, `visual-block`).\n\n| Keymap      \t| Actoin                                            \t|\n|-------------\t|---------------------------------------------------\t|\n| `\u003c`         \t| Indent selected lines to right side               \t|\n| `\u003e`         \t| Indent selected lines to left side                \t|\n| `Shift + j` \t| Move selected lines one line above                \t|\n| `Shift + k` \t| Move selected lines on line below                 \t|\n| `alt + j`   \t| Same as `Shift + j` but also works in normal-mode \t|\n| `alt + k`   \t| Same as `Shift + k` but also works in normal-mode \t|\n\n\n### Neotree (File Navigator)\n\nPress `?` key while you are in Neotree window and it will show you all keymaps used **inside** Neotree.\n\n| Keymap   \t| Actoin                          \t|\n|----------\t|---------------------------------\t|\n| `LR + e` \t| Toggle Neotree (open and close) \t|\n\n\n### Telescope (Fuzzy Finding)\n\n| Keymap       \t| Actoin                                                                           \t|\n|--------------\t|----------------------------------------------------------------------------------\t|\n| `LR + .`     \t| Telescope file finder (ignores files listed in `.gitignore`                      \t|\n| `LR + f + g` \t| Telescope Live-Grep (search in all files listed in current directory for a term) \t|\n| `LR + f + b` \t| Telescope buffer switcher                                                        \t|\n| `LR + f + c` \t| Telescope colorscheme switcher                                                   \t|\n| `LR + f + o` \t| Telescope recent edited files                                                    \t|\n\n\n### CMP (Auto-Completion plugin)\n\nThis keymaps used in auto-completion menu that `CMP` plugin provides.\n\n| Keymap        \t| Actoin                                 \t|\n|---------------\t|----------------------------------------\t|\n| `TAB`         \t| Next entry in auto-completion menu     \t|\n| `Shift + TAB` \t| Previous entry in auto-completion menu \t|\n| `ctrl + d`    \t| Scroll down in docs                    \t|\n| `ctrl + u`    \t| Scroll up in docs                      \t|\n\n\n### LSP (Lauguage Server)\n\n| Keymap      \t| Actoin                                              \t|\n|-------------\t|-----------------------------------------------------\t|\n| `g + l`     \t| Show diagnostics messege                            \t|\n| `g + L`     \t| Show all diagnostics messeges in a file with a list \t|\n| `g + d`     \t| Go to definition                                    \t|\n| `g + D`     \t| Go to declaration                                   \t|\n| `g + r`     \t| List of refrences                                   \t|\n| `Shift + k` \t| Hover (info about term/word under cursor)           \t|\n| `LR + x + x`  | Show a list of all diagnostics in a file              |\n| `LR + x + X`  | Show a list of all diagnostics in a project directory |\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthehxdev%2Fnvimdots","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthehxdev%2Fnvimdots","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthehxdev%2Fnvimdots/lists"}