{"id":50418321,"url":"https://github.com/sensorario/miovim","last_synced_at":"2026-05-31T07:02:53.818Z","repository":{"id":319204991,"uuid":"1072532811","full_name":"sensorario/miovim","owner":"sensorario","description":null,"archived":false,"fork":false,"pushed_at":"2025-10-17T02:42:50.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"next","last_synced_at":"2025-10-18T05:52:40.131Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/sensorario.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-08T21:15:35.000Z","updated_at":"2025-10-17T02:42:54.000Z","dependencies_parsed_at":"2025-10-18T12:38:03.299Z","dependency_job_id":null,"html_url":"https://github.com/sensorario/miovim","commit_stats":null,"previous_names":["sensorario/miovim"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/sensorario/miovim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensorario%2Fmiovim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensorario%2Fmiovim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensorario%2Fmiovim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensorario%2Fmiovim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sensorario","download_url":"https://codeload.github.com/sensorario/miovim/tar.gz/refs/heads/next","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sensorario%2Fmiovim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33722156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"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":[],"created_at":"2026-05-31T07:02:53.732Z","updated_at":"2026-05-31T07:02:53.812Z","avatar_url":"https://github.com/sensorario.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 MioVim - Configurazione Vim per JavaScript e TypeScript\n\nUna configurazione completa e ottimizzata di Vim per lo sviluppo JavaScript e TypeScript, con supporto completo per LSP, formattazione automatica, linting e debugging.\n\n## ✨ Caratteristiche\n\n### 🎯 Funzionalità Core\n- **Language Server Protocol (LSP)** completo via COC\n- **Auto-completamento intelligente** per JS/TS\n- **Syntax highlighting** avanzato per JavaScript, TypeScript, JSX, TSX\n- **Formattazione automatica** con Prettier\n- **Linting in tempo reale** con ESLint\n- **Git integration** completa\n- **File explorer** avanzato con icone\n- **Fuzzy finder** per navigazione rapida\n- **Debugging** integrato con Vimspector\n\n### 🎨 Interfaccia\n- **Tema Gruvbox** ottimizzato per sviluppo\n- **Status line** informativa con Airline\n- **Icone Nerd Font** per file e cartelle\n- **Evidenziazione sintassi** per tutti i linguaggi web\n- **Numeri di riga relativi** per navigazione efficiente\n\n### ⚡ Performance\n- **Caricamento lazy** dei plugin\n- **Cache ottimizzata** per completamento\n- **Backup automatici** e gestione undo persistente\n- **Ricerca veloce** con indicizzazione intelligente\n\n## 🛠️ Installazione\n\n### 🚀 Installazione Rapida (Solo configurazione Vim)\n\n```bash\n# Clona il repository\ngit clone https://github.com/sensorario/miovim.git\ncd miovim\n\n# Installazione rapida - solo configurazione Vim\n./quick-install.sh\n```\n\n### 🔧 Installazione Completa (Consigliata)\n\n```bash\n# Clona il repository\ngit clone https://github.com/sensorario/miovim.git\ncd miovim\n\n# Installazione completa con tutte le dipendenze\n./install.sh\n```\n\nLo script completo installerà automaticamente:\n- ✅ Vim (se non presente)\n- ✅ Node.js e npm (versione LTS)\n- ✅ Dipendenze npm globali (TypeScript, ESLint, Prettier, etc.)\n- ✅ Nerd Fonts per le icone\n- ✅ Tutti i plugin Vim necessari\n- ✅ Estensioni COC per LSP\n- ✅ File di configurazione esempio\n\n### ⚡ Installazione Avanzata con Opzioni\n\n```bash\n# Installazione con opzioni personalizzate\n./install-advanced.sh --help\n\n# Esempi:\n./install-advanced.sh -y                    # Non interattiva\n./install-advanced.sh --minimal             # Solo base\n./install-advanced.sh --no-nodejs           # Senza Node.js\n./install-advanced.sh --theme dracula       # Con tema Dracula\n./install-advanced.sh --config-only         # Solo configurazioni\n```\n\n### 🛠️ Utilizzo con Makefile\n\n```bash\n# Mostra tutti i comandi disponibili\nmake help\n\n# Installazioni\nmake install          # Installazione completa\nmake quick            # Installazione rapida (solo Vim)\nmake minimal          # Installazione minimale\nmake advanced         # Installazione con opzioni\n\n# Utilità\nmake demo             # Crea progetto demo\nmake backup           # Backup configurazione\nmake test             # Testa configurazione\nmake check-deps       # Verifica dipendenze\nmake update           # Aggiorna configurazione\nmake uninstall        # Disinstalla\n```\n\n### Installazione Manuale\n\n\u003cdetails\u003e\n\u003csummary\u003eClicca per vedere i passaggi manuali\u003c/summary\u003e\n\n1. **Installa le dipendenze di sistema:**\n   ```bash\n   # macOS\n   brew install vim node\n\n   # Ubuntu/Debian\n   sudo apt update \u0026\u0026 sudo apt install vim nodejs npm\n\n   # CentOS/RHEL\n   sudo yum install vim nodejs npm\n   ```\n\n2. **Installa dipendenze npm globali:**\n   ```bash\n   npm install -g typescript eslint prettier @typescript-eslint/parser @typescript-eslint/eslint-plugin\n   ```\n\n3. **Copia la configurazione:**\n   ```bash\n   cp .vimrc ~/.vimrc\n   cp coc-settings.json ~/.vim/\n   cat coc-config.vim \u003e\u003e ~/.vimrc\n   ```\n\n4. **Installa i plugin:**\n   ```bash\n   vim +PlugInstall +qall\n   ```\n\n5. **Installa le estensioni COC:**\n   ```bash\n   vim +\"CocInstall coc-tsserver coc-json coc-prettier coc-eslint\" +qall\n   ```\n\n\u003c/details\u003e\n\n## 🎮 Utilizzo\n\n### Tasti e Shortcuts\n\n#### Leader Key: `\u003cSpace\u003e`\n\n### 📁 Gestione File\n| Shortcut | Descrizione |\n|----------|-------------|\n| `\u003cSpace\u003ent` | Apri/chiudi NERDTree |\n| `\u003cSpace\u003enf` | Trova file corrente in NERDTree |\n| `\u003cSpace\u003ee` | Apri COC Explorer |\n| `\u003cSpace\u003ep` | Fuzzy finder (CtrlP) |\n| `\u003cSpace\u003epb` | Lista buffer aperti |\n| `\u003cSpace\u003epm` | File recenti (MRU) |\n\n### ✏️ Editing e Formattazione (come VS Code)\n| Shortcut | Descrizione |\n|----------|-------------|\n| `\u003cSpace\u003ew` | Salva file |\n| `\u003cSpace\u003eq` | Chiudi file |\n| `\u003cSpace\u003ex` | Salva e chiudi |\n| `\u003cSpace\u003ef` | Formatta documento/selezione |\n| `\u003cAlt\u003e\u003cShift\u003ef` | Formatta con Prettier (esatto come VS Code) |\n| `\u003cSpace\u003epr` | Prettier: formatta file |\n| `\u003cSpace\u003epc` | Prettier: check formato |\n| `\u003cSpace\u003etf` | Toggle format on save |\n| `\u003cSpace\u003ern` | Rinomina symbol |\n| `\u003cSpace\u003eca` | Code actions |\n| `\u003cSpace\u003eqf` | Quick fix |\n\n**Prettier configurato identico a VS Code:**\n- ✅ Semicoloni abilitati (default VS Code)\n- ✅ Doppi apici (default VS Code) \n- ✅ Format on save automatico\n- ✅ Stesse impostazioni di formattazione\n\n### 🔍 Navigazione e Ricerca\n| Shortcut | Descrizione |\n|----------|-------------|\n| `gd` | Vai alla definizione |\n| `gy` | Vai al tipo |\n| `gi` | Vai all'implementazione |\n| `gr` | Trova riferimenti |\n| `K` | Mostra documentazione |\n| `\u003cSpace\u003ea` | Ricerca globale (Ack) |\n| `\u003cSpace\u003e/` | Rimuovi highlight ricerca |\n\n### 🔄 Buffer e Split\n| Shortcut | Descrizione |\n|----------|-------------|\n| `\u003cSpace\u003ebn` | Buffer successivo |\n| `\u003cSpace\u003ebp` | Buffer precedente |\n| `\u003cSpace\u003ebd` | Chiudi buffer |\n| `\u003cCtrl\u003eh/j/k/l` | Naviga tra split |\n| `\u003cSpace\u003e+/-` | Ridimensiona split orizzontale |\n| `\u003cSpace\u003e\u003c/\u003e` | Ridimensiona split verticale |\n\n### 🌿 Git\n| Shortcut | Descrizione |\n|----------|-------------|\n| `\u003cSpace\u003egs` | Git status |\n| `\u003cSpace\u003egc` | Git commit |\n| `\u003cSpace\u003egp` | Git push |\n| `\u003cSpace\u003egl` | Git pull |\n| `\u003cSpace\u003egd` | Git diff |\n\n### 🚀 COC (LSP)\n| Shortcut | Descrizione |\n|----------|-------------|\n| `\u003cTab\u003e` | Accetta completamento |\n| `\u003cCtrl\u003eSpace` | Trigger completamento |\n| `[g` / `]g` | Diagnostico precedente/successivo |\n| `\u003cSpace\u003ecd` | Lista diagnostici |\n| `\u003cSpace\u003ece` | Lista estensioni |\n| `\u003cSpace\u003ecc` | Lista comandi |\n| `\u003cSpace\u003eco` | Outline documento |\n\n### 💻 Terminale\n| Shortcut | Descrizione |\n|----------|-------------|\n| `\u003cSpace\u003ett` | Apri terminale integrato |\n| `\u003cSpace\u003er` | Ricarica configurazione |\n\n## ⚙️ Configurazione\n\n### File di Configurazione\n\nLa configurazione include i seguenti file:\n\n- **`.vimrc`** - Configurazione principale Vim\n- **`coc-settings.json`** - Configurazione COC/LSP\n- **`eslintrc.example.json`** - Configurazione ESLint esempio\n- **`prettierrc.example.json`** - Configurazione Prettier esempio\n- **`tsconfig.example.json`** - Configurazione TypeScript esempio\n- **`.editorconfig`** - Configurazione editor cross-platform\n\n### Plugin Installati\n\n#### Core\n- `vim-sensible` - Configurazioni base sensate\n- `nerdtree` - File explorer\n- `ctrlp.vim` - Fuzzy finder\n- `vim-fugitive` - Git integration\n- `vim-airline` - Status bar migliorata\n\n#### JavaScript/TypeScript\n- `vim-javascript` - Syntax highlighting JS\n- `typescript-vim` - Syntax highlighting TS\n- `vim-jsx-pretty` - JSX support\n- `vim-jsx-typescript` - TSX support\n- `coc.nvim` - Language Server Protocol\n\n#### Editing\n- `vim-surround` - Gestione quotes/brackets\n- `vim-commentary` - Commenti intelligenti\n- `auto-pairs` - Auto-chiusura parentesi\n- `vim-closetag` - Auto-chiusura tag HTML/JSX\n\n#### Formattazione e Linting\n- `vim-prettier` - Prettier integration\n- `ale` - Linting asincrono\n\n### Estensioni COC\n\n- `coc-tsserver` - TypeScript language server\n- `coc-eslint` - ESLint integration\n- `coc-prettier` - Prettier integration\n- `coc-json` - JSON support\n- `coc-html` - HTML support\n- `coc-css` - CSS support\n- `coc-emmet` - Emmet abbreviations\n- `coc-snippets` - Code snippets\n- `coc-explorer` - File explorer avanzato\n- `coc-git` - Git integration\n\n## 🎨 Personalizzazione\n\n### Cambiare Tema\n\nPer cambiare il tema da Gruvbox:\n\n```vim\n\" In .vimrc, sostituisci:\ncolorscheme gruvbox\n\" Con il tema desiderato, es:\ncolorscheme dracula\n```\n\nTemi consigliati:\n- `dracula/vim`\n- `joshdick/onedark.vim`\n- `arcticicestudio/nord-vim`\n\n### Modificare Impostazioni LSP\n\nModifica `~/.vim/coc-settings.json` per personalizzare:\n\n```json\n{\n  \"typescript.preferences.includePackageJsonAutoImports\": \"on\",\n  \"prettier.printWidth\": 120,\n  \"eslint.autoFixOnSave\": true\n}\n```\n\n### Aggiungere Plugin\n\nAggiungi plugin in `.vimrc` nella sezione `call plug#begin()`:\n\n```vim\ncall plug#begin('~/.vim/plugged')\n\" ... plugin esistenti ...\nPlug 'nuovo/plugin'\ncall plug#end()\n```\n\nPoi esegui `:PlugInstall` in Vim.\n\n## 🐛 Troubleshooting\n\n### Problemi Comuni\n\n#### COC non funziona\n```bash\n# Verifica Node.js\nnode --version  # Deve essere \u003e= 14.x\n\n# Reinstalla estensioni COC\nvim +\"CocInstall coc-tsserver coc-eslint coc-prettier\" +qall\n```\n\n#### Font/Icone mancanti\n```bash\n# macOS\nbrew install --cask font-fira-code-nerd-font\n\n# Linux\n# Scarica e installa manualmente i Nerd Fonts\n```\n\n#### ESLint non funziona\n```bash\n# Installa ESLint globalmente\nnpm install -g eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n\n# Crea .eslintrc.json nel progetto\ncp eslintrc.example.json .eslintrc.json\n```\n\n#### Prettier non formatta\n```bash\n# Verifica configurazione in coc-settings.json\n# Assicurati che sia presente:\n\"coc.preferences.formatOnSaveFiletypes\": [\n  \"javascript\", \"typescript\", \"javascriptreact\", \"typescriptreact\"\n]\n```\n\n### Log e Debug\n\n#### Debug COC\n```vim\n:CocInfo        \" Informazioni sistema\n:CocLog         \" Log COC\n:CocConfig      \" Apri configurazione\n```\n\n#### Check Health\n```vim\n:checkhealth    \" Solo in Neovim\n\" In Vim classico verifica manualmente le dipendenze\n```\n\n## 📚 Risorse Utili\n\n### Documentazione\n- [Vim Tips Wiki](https://vim.fandom.com/wiki/Vim_Tips_Wiki)\n- [COC.nvim Documentation](https://github.com/neoclide/coc.nvim)\n- [TypeScript in Vim](https://pragmatic-coder.net/setup-typescript-vim-development/)\n\n### Cheat Sheets\n- [Vim Cheat Sheet](https://vim.rtorr.com/)\n- [COC Shortcuts](https://github.com/neoclide/coc.nvim#example-vim-configuration)\n\n### Community\n- [r/vim](https://reddit.com/r/vim)\n- [Vi and Vim Stack Exchange](https://vi.stackexchange.com/)\n\n## 🤝 Contribuire\n\n1. Fork il repository\n2. Crea una feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit le modifiche (`git commit -m 'Add amazing feature'`)\n4. Push al branch (`git push origin feature/amazing-feature`)\n5. Apri una Pull Request\n\n## 📝 License\n\nQuesto progetto è sotto licenza MIT. Vedi `LICENSE` per dettagli.\n\n## 🙏 Ringraziamenti\n\n- [Vim](https://www.vim.org/) - L'editor che ha reso tutto possibile\n- [COC.nvim](https://github.com/neoclide/coc.nvim) - LSP amazing per Vim\n- [Gruvbox](https://github.com/morhetz/gruvbox) - Tema fantastico\n- Tutti i maintainer dei plugin utilizzati\n\n---\n\n**Happy Coding! 🎉**\n\n*Fatto con ❤️ per la community JavaScript/TypeScript*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsensorario%2Fmiovim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsensorario%2Fmiovim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsensorario%2Fmiovim/lists"}