{"id":48090877,"url":"https://github.com/magidc/nvim-config","last_synced_at":"2026-04-04T15:29:55.088Z","repository":{"id":45684496,"uuid":"489785562","full_name":"magidc/nvim-config","owner":"magidc","description":"My config for Neovim","archived":false,"fork":false,"pushed_at":"2025-09-30T22:13:16.000Z","size":8747,"stargazers_count":111,"open_issues_count":1,"forks_count":23,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-01T00:13:31.527Z","etag":null,"topics":["dotfiles","dotfiles-linux","ide","lua","neovim","neovim-config","neovim-configuration","neovim-dotfiles","nvim","rust","rust-ide","vim","vimrc"],"latest_commit_sha":null,"homepage":"","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/magidc.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-05-07T21:30:23.000Z","updated_at":"2025-09-30T22:13:20.000Z","dependencies_parsed_at":"2023-10-13T03:47:55.724Z","dependency_job_id":"95daeec0-2e9e-4a7b-804c-01d37c5ceffe","html_url":"https://github.com/magidc/nvim-config","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/magidc/nvim-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magidc%2Fnvim-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magidc%2Fnvim-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magidc%2Fnvim-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magidc%2Fnvim-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/magidc","download_url":"https://codeload.github.com/magidc/nvim-config/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magidc%2Fnvim-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31403959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["dotfiles","dotfiles-linux","ide","lua","neovim","neovim-config","neovim-configuration","neovim-dotfiles","nvim","rust","rust-ide","vim","vimrc"],"created_at":"2026-04-04T15:29:54.714Z","updated_at":"2026-04-04T15:29:54.912Z","avatar_url":"https://github.com/magidc.png","language":"Lua","readme":"# Neovim configuration for Java, Python, Rust and Lua\n\nThis is my personal LUA based configuration for Neovim that I use on a daily basis as Java, Python and RUST IDE. This setup is the product of continuous enhancements based in what I have found in configurations shared by other users. It is an ongoing project that may evolve with time as I come accross with new plugins, refine mappings or refactor configuration files.\u003cbr\u003eFeel free to fork this repository and adapt it to your own needs.\n\n\u003cbr\u003e\n\n*Autocompletion*\n![lsp autocompletion](./screenshots/nvim_lsp_cmp.png?raw=true)\n\n*Compilation errors*\n![lsp autocompletion](./screenshots/nvim_lsp_errors.png?raw=true)\n\n*Debug*\n![lsp autocompletion](./screenshots/nvim_dap.png?raw=true)\n\n*Launching Java application*\n![lsp autocompletion](./screenshots/nvim_java_launch.png?raw=true)\n\n*Telescope fuzzy finder*\n![telecope usage](./screenshots/nvim_telescope.png?raw=true)\n\n# Installation\n## Manual Setup\n0. Clone this repository into `~/.config/nvim`:\n    ```\n    git clone --depth 1 https://github.com/magidc/nvim-config.git ~/.config/nvim\n    ```\n1. Install latest [NeoVIM version](https://github.com/neovim/neovim/wiki/Installing-Neovim). The configuration also includes an script to install automatically Neovim in APT based Linux distributions (Debian, Ubuntu, PopOs...). See [install_nvim.sh](https://github.com/magidc/nvim-config/blob/master/install_nvim.sh)\n2. Install [ripgrep](https://github.com/BurntSushi/ripgrep) into your OS. It is required by some [Telescope](https://github.com/nvim-telescope/telescope.nvim) plugin searching modes.\n\n3. This environment is preconfigured with Language Server Providers (LSP) and Debug Adapters  (DAP) for Java, Python, Rust and Lua. These components provide IDE features like autocompletions, error highlight or debugging. As it is required to have installed these components in your system, this Neovim setup relies on [mason.nvim](https://github.com/mason-org/mason.nvim#installation) plugin to install them automatically if they are missing.\n\u003cbr\u003e\n\n# UI theme\nSeveral UI themes are preconfigured in this setup. Active theme is set by editing file `lua/settings.lua`.\nDefault active theme is [Tokyonight](https://github.com/folke/tokyonight.nvim).\n\n\u003cbr\u003e\n\n# Custom mappings\nMost of mappings are defined in file `lua/mappings.lua`. WhichKey plugin is used in order to provide a description for each one of them.\nOther mappings can be found in specific plugin configuration files in `lua/plugins/configs` directory. Also, language specific mappings are defined in LSP config files, these mappings are only available when working with specific programming languages (when LSP are attached)\n\n\u003cbr\u003e\n\n# Equivalent mapping configurations for other IDEs VIM integrations\nI have created configuration files with (almost) equivalent mappings for [Eclipse IDE vim plugin (vrapper)](https://github.com/magidc/dotfiles/blob/master/vrapperrc), [IntelliJ vim plugin (ideaVim)](https://github.com/magidc/dotfiles/blob/master/jetbrains/ideavimrc) and [VSCode vim plugin (vscodevim)](https://github.com/magidc/dotfiles/blob/master/vscode/keybindings.json).\nThese configurations will allow users who are used to these key combinations to remain confortable and efficient while working with other IDEs.\n\n\u003cbr\u003e\n\n# Featured plugins\n* [Telescope](https://github.com/nvim-telescope/telescope.nvim)\n    \u003e Highly extendable fuzzy finder over lists\n* [Neotree](https://github.com/nvim-neo-tree/neo-tree.nvim)\n    \u003e Tree file explorer \n* [Aerial](https://github.com/stevearc/aerial.nvim)\n    \u003e Code outline window for skimming and quick navigation\n* [WhichKey](https://github.com/folke/which-key.nvim)\n    \u003e Displays a popup with possible key bindings of the command you started typing\n* [Nvim-jdtls](https://github.com/mfussenegger/nvim-jdtls)\n    \u003e Extensions for the built-in LSP support in Neovim for eclipse.jdt.ls\n* [Nvim-dap](https://github.com/mfussenegger/nvim-dap)\n    \u003e Debug Adapter Protocol client implementation for Neovim\n* Others...\n\n\u003cbr\u003e\n\n# Troubleshooting\nIf you have problems while installing or using this setup, please report an issue, \n\n\u003cbr\u003e\n\n# Feedback and suggestions\nI would appreciate suggestions and feedback regarding this Neovim configuration. As it is an ongoing project I will be changing over the time to become more useful and easy to use. Please do not hesitate to contact me if you have any comments\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagidc%2Fnvim-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmagidc%2Fnvim-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagidc%2Fnvim-config/lists"}