{"id":30151810,"url":"https://github.com/ahmad9059/nvim","last_synced_at":"2026-05-09T03:39:01.570Z","repository":{"id":307504515,"uuid":"1029555251","full_name":"ahmad9059/nvim","owner":"ahmad9059","description":"Nvim Config for Web Development (specially for MERN/Next.js)","archived":false,"fork":false,"pushed_at":"2025-08-11T05:45:45.000Z","size":3259,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-11T07:24:22.838Z","etag":null,"topics":["config","dotfiles","lazyvim","nvchad","nvim","nvim-configs","web"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ahmad9059.png","metadata":{"files":{"readme":"README.md","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":"2025-07-31T08:11:59.000Z","updated_at":"2025-08-11T05:45:48.000Z","dependencies_parsed_at":"2025-07-31T18:06:58.569Z","dependency_job_id":"5836807d-f1a1-43c1-bf60-d56c2b51cfc1","html_url":"https://github.com/ahmad9059/nvim","commit_stats":null,"previous_names":["ahmad9059/nvim"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahmad9059/nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmad9059%2Fnvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmad9059%2Fnvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmad9059%2Fnvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmad9059%2Fnvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahmad9059","download_url":"https://codeload.github.com/ahmad9059/nvim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmad9059%2Fnvim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269873158,"owners_count":24488993,"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","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["config","dotfiles","lazyvim","nvchad","nvim","nvim-configs","web"],"created_at":"2025-08-11T11:03:09.514Z","updated_at":"2026-05-09T03:39:01.558Z","avatar_url":"https://github.com/ahmad9059.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🖥️ Neovim Config (NvChad-Based)\n\nWelcome to my personal Neovim configuration, built on top of [NvChad](https://github.com/NvChad/NvChad) for a modern, fast, and minimal Neovim setup tailored for **web development**, **JavaScript/TypeScript**, and general-purpose programming.\n\n\u003e ⚡ Designed for speed, productivity, and ease of maintenance with VSCode compatibility.\n\n## 📷 Screenshots\n\n![preview-2-Image](/preview/preview-2.png)\n![preview-Image](/preview/preview.png)\n\n---\n\n## ✨ Key Features\n\n- 🚀 **Lazy-loaded plugin architecture** via NvChad v2.5\n- 🎨 **Tokyo Night theme** with transparency and custom dashboard\n- 🧠 **Intelligent code formatting** with Prettier, Stylua, and format-on-save\n- 🔧 **Comprehensive LSP support** for modern web development\n- 🧵 **Template string auto-conversion** (VS Code-like behavior)\n- 🏷️ **Auto HTML/JSX tag closing and renaming**\n- 🔍 **Enhanced Telescope UI** with dropdown selections\n- 🧑‍🔧 **LazyGit integration** for seamless Git workflow\n- 🖥️ **Tmux navigation** support for terminal multiplexing\n- 📝 **Markdown rendering** with live preview\n- 👨‍💻 **VSCode-Neovim compatibility** with dedicated config\n- ⌨️ **Custom key mappings** for productivity\n- ��� **BlVink completion engine** for fast autocompletion\n- 🌲 **Enhanced Treesitter** with auto-install for syntax highlighting\n\n---\n\n## 🛠️ Plugin Ecosystem\n\n| Plugin                                      | Purpose                                        | Status           |\n| ------------------------------------------- | ---------------------------------------------- | ---------------- |\n| **Core \u0026 UI**                               |\n| `NvChad/NvChad`                             | Base configuration framework                   | ✅ Active        |\n| `folke/which-key.nvim`                      | Key binding helper with helix preset           | ✅ Active        |\n| **LSP \u0026 Completion**                        |\n| `neovim/nvim-lspconfig`                     | Language Server Protocol configuration         | ✅ Active        |\n| `nvchad.blink.lazyspec`                     | Fast completion engine                         | ✅ Active        |\n| **Formatting \u0026 Linting**                    |\n| `stevearc/conform.nvim`                     | Code formatting with Prettier, Stylua          | ✅ Active        |\n| **Git Integration**                         |\n| `kdheepak/lazygit.nvim`                     | LazyGit terminal UI integration                | ✅ Active        |\n| **Navigation \u0026 Movement**                   |\n| `christoomey/vim-tmux-navigator`            | Seamless Tmux pane navigation                  | ✅ Active        |\n| `nvim-telescope/telescope-ui-select.nvim`   | Telescope dropdown for vim.ui.select           | ✅ Active        |\n| **Language-Specific**                       |\n| `axelvc/template-string.nvim`               | Auto-convert quotes to template strings        | ✅ Active        |\n| `windwp/nvim-ts-autotag`                    | Auto-close and rename HTML/JSX tags            | ✅ Active        |\n| `MeanderingProgrammer/render-markdown.nvim` | Live markdown rendering                        | ✅ Active        |\n| **Syntax \u0026 Parsing**                        |\n| `nvim-treesitter/nvim-treesitter`           | Advanced syntax highlighting with auto-install | ✅ Active        |\n| **Optional/Commented**                      |\n| `github/copilot.vim`                        | AI code suggestions                            | 🔄 Commented out |\n| `folke/noice.nvim`                          | Enhanced command line and notification UI      | 🔄 Commented out |\n| `rcarriga/nvim-notify`                      | Beautiful notification system                  | 🔄 Commented out |\n\n---\n\n## 🌐 Language Support\n\n### Full LSP Support\n\n- **JavaScript/TypeScript** - Complete IntelliSense, auto-imports, refactoring (ts_ls)\n- **React (JSX/TSX)** - Component intelligence, prop validation\n- **HTML/CSS** - Tag completion, CSS properties, validation\n- **JSON** - Schema validation, formatting\n- **Lua** - Neovim API awareness, diagnostics with vim globals\n- **Markdown** - Live rendering with Marksman LSP\n- **TailwindCSS** - Class completion and validation\n- **Bash/Shell** - Script validation and completion\n- **Emmet** - Abbreviation expansion for web technologies\n\n### Enhanced Features\n\n- **TailwindCSS** - Class completion and validation\n- **Emmet** - Fast HTML/CSS abbreviation expansion for HTML, CSS, JS/TS React\n- **Template Strings** - Auto-conversion for JS/TS/React/Vue/Svelte/Python/C#\n- **Auto-tagging** - Smart HTML/JSX tag management with Treesitter\n- **Bash/Shell** - LSP support for shell scripting\n- **Markdown** - Enhanced support with Marksman LSP and live rendering\n\n### Formatting Support\n\n- **Prettier/Prettierd** - JavaScript, TypeScript, HTML, CSS, JSON, Markdown, YAML\n- **Stylua** - Lua code formatting\n- **Shfmt** - Shell script formatting\n- **Format on Save** - Automatic formatting with 500ms timeout and LSP fallback\n\n---\n\n## ⚙️ Custom Configuration Highlights\n\n### Theme \u0026 UI\n\n- **Tokyo Night** theme with transparency enabled\n- **Custom dashboard** with ASCII art header\n- **Minimal statusline** with rounded separators\n- **Relative line numbers** for better navigation\n\n### Key Mappings\n\n- `;` → `:` (Quick command mode access)\n- `jk` → `\u003cESC\u003e` (Fast insert mode exit)\n- `\u003cC-s\u003e` → Save file (works in all modes)\n- `\u003cC-a\u003e` → Select all text\n- `\u003cA-hjkl\u003e` → Navigate in insert mode\n- `\u003cleader\u003elg` → Open LazyGit\n- `\u003cA-i\u003e` → Toggle floating terminal with custom styling\n- `\u003cC-hjkl\u003e` → Tmux navigation\n- `\u003cC-\\\u003e` → Go to previous Tmux pane\n- `g1-g9` → Switch between buffers (g0 for last buffer)\n- Visual mode selections: `\u003cleader\u003ei{`, `\u003cleader\u003ea{`, etc. for brackets/quotes\n\n### Advanced Features\n\n- **VSCode compatibility** - Dedicated minimal config for VSCode-Neovim extension\n- **Floating terminal** - Customized with rounded borders (80% width/height)\n- **Smart diagnostics** - Virtual text enabled globally\n- **Auto-formatting** - Format on save with 500ms timeout and LSP fallback\n- **Template strings** - Auto-convert quotes to backticks in JS/TS/React\n- **Blink completion** - Fast completion engine integrated with NvChad\n- **Relative line numbers** - Enhanced navigation experience\n- **Buffer switching** - Quick buffer navigation with g1-g9 keys\n\n---\n\n## 🧰 Prerequisites\n\n### Required\n\n- [Neovim v0.9+](https://neovim.io/) (v0.10+ recommended)\n- [Git](https://git-scm.com/)\n- [Node.js](https://nodejs.org/) and `npm` (for LSP servers and formatters)\n\n### Optional but Recommended\n\n- [LazyGit](https://github.com/jesseduffield/lazygit) - Git UI integration\n- [Tmux](https://github.com/tmux/tmux) - Terminal multiplexer for navigation\n- [Nerd Font](https://www.nerdfonts.com/) - For proper icon display\n\n### Language Servers \u0026 Formatters\n\nThe following LSP servers are configured and can be installed via Mason:\n\n```bash\n# LSP Servers (install via :Mason or manually)\nnpm install -g typescript-language-server    # JavaScript/TypeScript\nnpm install -g vscode-langservers-extracted  # HTML, CSS, JSON\nnpm install -g @tailwindcss/language-server  # TailwindCSS\nnpm install -g emmet-ls                       # Emmet abbreviations\nnpm install -g bash-language-server          # Bash/Shell\nnpm install -g marksman                       # Markdown\n\n# Formatters (for conform.nvim)\nnpm install -g prettier                       # JS/TS/HTML/CSS/JSON/MD/YAML\nnpm install -g @fsouza/prettierd             # Faster Prettier daemon\ncargo install stylua                          # Lua formatting\nnpm install -g shfmt                          # Shell script formatting\n```\n\n---\n\n## 🚀 Installation\n\n### Method 1: Fresh NvChad Installation\n\n```bash\n# Backup existing config (if any)\nmv ~/.config/nvim ~/.config/nvim.backup\n\n# Clone this config\ngit clone https://github.com/ahmad9059/nvim ~/.config/nvim\n\n# Start Neovim (plugins will auto-install)\nnvim\n\n# Install LSP servers and formatters\n:Mason\n# Then install the servers you need, or run:\n:MasonInstallAll\n\n# Sync plugins if needed\n:Lazy sync\n```\n\n### Method 2: VSCode-Neovim Users\n\nThis config includes dedicated VSCode compatibility. Simply install the [VSCode-Neovim extension](https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim) and point it to this config.\n\n---\n\n## 🎯 Usage Guide\n\n### First Launch\n\n1. Open Neovim - plugins will automatically install\n2. Wait for Lazy.nvim to finish downloading plugins\n3. Restart Neovim for full functionality\n4. Run `:checkhealth` to verify everything is working\n\n### Key Workflows\n\n#### Git Integration\n\n- `\u003cleader\u003elg` - Open LazyGit for visual Git operations\n- Use LazyGit's intuitive interface for staging, committing, and pushing\n\n#### Code Formatting\n\n- **Automatic** - Format on save (500ms timeout)\n- **Manual** - Use LSP formatting commands\n- **Supported** - JS, TS, HTML, CSS, JSON, Markdown, Lua\n\n#### Terminal Usage\n\n- `\u003cA-i\u003e` - Toggle floating terminal with custom styling\n- Terminal opens with 80% width, 70% height, rounded borders\n- Positioned at 10% from top, 8% from left for optimal viewing\n\n#### Tmux Integration\n\n- `\u003cC-h/j/k/l\u003e` - Navigate between Neovim and Tmux panes seamlessly\n- `\u003cC-\\\u003e` - Go to previous Tmux pane\n\n---\n\n## 🔧 Troubleshooting\n\n### Common Issues\n\n**LSP not working?**\n\n```bash\n# Check if language servers are installed\n:LspInfo\n\n# Install missing servers via Mason\n:Mason\n```\n\n**Formatting not working?**\n\n```bash\n# Check formatter availability\n:ConformInfo\n\n# Install formatters manually\nnpm install -g prettier @fsouza/prettierd\ncargo install stylua\nnpm install -g shfmt\n```\n\n**Plugins not loading?**\n\n```bash\n# Check plugin status\n:Lazy\n\n# Force plugin sync\n:Lazy sync\n```\n\n**Tmux navigation not working?**\n\n- Ensure Tmux is installed and running\n- Check if `christoomey/vim-tmux-navigator` plugin is loaded\n\n---\n\n## 📁 Project Structure\n\n```\n~/.config/nvim/\n├── init.lua                 # Main entry point with VSCode compatibility\n├── lazy-lock.json          # Plugin version lock file\n├── .stylua.toml            # Stylua formatter configuration\n├── lua/\n│   ├── autocmds.lua        # Auto commands\n│   ├── chadrc.lua          # NvChad theme and UI configuration\n│   ├── mappings.lua        # Custom key mappings\n│   ├── options.lua         # Neovim options (relative numbers, etc.)\n│   ├── configs/\n│   │   ├── conform.lua     # Formatter configuration (Prettier, Stylua, etc.)\n│   │   ├── lazy.lua        # Lazy.nvim setup\n│   │   └── lspconfig.lua   # LSP server configurations\n│   └── plugins/\n│       └── init.lua        # Plugin specifications\n└── preview/\n    ├── preview.png         # Screenshot 1\n    └── preview-2.png       # Screenshot 2\n```\n\n---\n\n## 🎨 Customization\n\n### Changing Theme\n\nEdit `lua/chadrc.lua`:\n\n```lua\nM.base46 = {\n  theme = \"tokyonight\", -- Current theme (change to your preferred theme)\n  transparency = true,  -- Current setting (set to false to disable)\n  hl_override = {\n    Comment = { italic = true },\n    [\"@comment\"] = { italic = true },\n  },\n}\n```\n\n### Adding New LSP\n\nEdit `lua/configs/lspconfig.lua`:\n\n```lua\n-- Example: Python LSP\nlspconfig.pyright.setup {\n  on_attach = on_attach,\n  capabilities = capabilities,\n}\n```\n\n### Custom Key Mappings\n\nEdit `lua/mappings.lua`:\n\n```lua\n-- Example: Add your custom mappings\nmap(\"n\", \"\u003cleader\u003ecustom\", \"\u003ccmd\u003eYourCommand\u003cCR\u003e\", { desc = \"Your description\" })\n\n-- Current custom mappings include:\n-- Buffer navigation with g + numbers\n-- Visual mode selections for brackets/quotes\n-- Tmux navigation integration\n-- Custom terminal toggle with styling\n```\n\n---\n\n## 🤝 Contributing\n\nFeel free to:\n\n- Report bugs or issues\n- Suggest new features or improvements\n- Submit pull requests\n- Share your customizations\n\n### Development Setup\n\n1. Fork the repository\n2. Create a feature branch\n3. Test your changes thoroughly\n4. Submit a pull request with clear description\n\n---\n\n## 🙌 Credits \u0026 Acknowledgments\n\n### Core Dependencies\n\n- [NvChad](https://github.com/NvChad/NvChad) - Amazing Neovim configuration framework\n- [Lazy.nvim](https://github.com/folke/lazy.nvim) - Modern plugin manager\n- [Telescope](https://github.com/nvim-telescope/telescope.nvim) - Fuzzy finder and UI\n\n### Key Plugins\n\n- [conform.nvim](https://github.com/stevearc/conform.nvim) - Formatter integration\n- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) - LSP configuration\n- [LazyGit](https://github.com/jesseduffield/lazygit) - Git terminal UI\n- [template-string.nvim](https://github.com/axelvc/template-string.nvim) - Smart template strings\n- [noice.nvim](https://github.com/folke/noice.nvim) - Enhanced UI components\n\n### Community\n\n- All the amazing open-source contributors\n- NvChad community for the solid foundation\n- Neovim core team for the incredible editor\n\n---\n\n## 👨‍💻 Author\n\n**Ahmad Hassan**  \nFull Stack Developer \u0026 Neovim Enthusiast\n\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/ahmad9059/)\n[![GitHub](https://img.shields.io/badge/GitHub-100000?style=for-the-badge\u0026logo=github\u0026logoColor=white)](https://github.com/ahmad9059)\n\n---\n\n## 📄 License\n\nThis project is open source and available under the [MIT License](LICENSE).\n\n```\nMIT License - Feel free to use, modify, and distribute\n```\n\n---\n\n## ⭐ Show Your Support\n\nIf this configuration helped you, please consider:\n\n- ⭐ Starring the repository\n- 🍴 Forking for your own customizations\n- 📢 Sharing with fellow developers\n- 🐛 Reporting issues or suggesting improvements\n\n**Happy coding with Neovim! 🚀**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmad9059%2Fnvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmad9059%2Fnvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmad9059%2Fnvim/lists"}