Salutare tuturor. Am decis să scriu postarea asta pentru că văd tot mai des discuții despre editorul perfect și m-am gândit că vă ajută experiența mea recentă. Acum jumătate de an am șters VS Code și m-am întors la Neovim după aproape trei ani de „trădare”.
Am pățit-o acum jumătate de an când lucram la un monorepo masiv, un proiect cu peste 150.000 de linii de cod în TypeScript și destul de mult Go. VS Code, pe care îl aveam configurat destul de curat, a început să gâfâie. Extensia de TS server crăpa o dată la două ore. Când dădeam search global prin fișiere aveam un delay vizibil, uneori și de două-trei secunde. Pe un laptop de muncă cu 16GB RAM, procesele alea de Electron îmi mâncau constant 5-6GB. Era pur și simplu frustrant să scriu cod cu lag.
Am zis să revin la Neovim, pe care îl abandonasem în 2021 din lene. Mi-am configurat totul de la zero folosind lazy.nvim și LSP-urile de care aveam nevoie. Rezultatul? Senzațional pe partea de viteză brută. Timpul de pornire a scăzut la sub 40ms, iar memoria RAM ocupată nu sare de 300MB chiar și cu trei servere LSP pornite simultan. Viteza de editare, odată ce îți reintră în reflex scurtăturile de taste, e de neegalat. Nu mai am nicio barieră între gând și cod.
Dar hai să fim sinceri și să vorbim despre ce am pierdut, pentru că nu totul e roz în terminal și e important să știm trade-off-urile reale.
În primul rând, debugging-ul. În VS Code dai click pe marginea ecranului, pui un breakpoint, apeși F5 și totul merge instant. În Neovim? Să configurezi nvim-dap pentru un proiect complex de Node.js cu TypeScript, webpack și surse mapate e pur și simplu masochism curat. Am pierdut vreo două weekenduri doar ca să fac debuggerul să se conecteze corect la un container de Docker și să nu-mi sară peste breakpoint-uri. Și tot nu e la fel de stabil. Sincer, când am de investigat un bug greu de replicat, încă mai deschid VS Code doar pentru debuggerul lui excelent.
În al doilea rând, rezolvarea conflictelor de Git. Editorul de merge din VS Code este de-a dreptul genial. Interfața aia vizuală unde selectezi „Accept Incoming” sau „Accept Current” îți salvează creierul de la oboseală după o zi lungă. În Neovim, deși folosesc neogit sau diffview.nvim, tot mi se pare mult mai greoi să navighez prin conflicte mari direct în terminal.
Și nu în ultimul rând, integrarea cu AI-ul. Da, există plugin-uri excelente de Copilot pentru Neovim, dar experiența de utilizare din VS Code, mai ales cu Copilot Chat sau sugestiile inline inteligente, este mult peste ce poți obține în terminal în acest moment fără să-ți prinzi urechile în configurări.
Tranziția asta m-a învățat că nu există editorul perfect. Neovim câștigă detașat la performanță brută, ergonomie și focus. VS Code câștigă la ecosistem și la faptul că totul funcționează de la prima cheie fără să pierzi nopțile scriind cod în Lua pentru fișierele de configurare.
Voi cum stați? Ați făcut trecerea asta inversă spre terminal sau preferați să rămâneți pe IDE-uri clasice pentru că n-aveți timp de configurat?