Przechodzę z VS Code na Vima
Odkąd zacząłem profesjonalnie programować w 2015 roku, słyszałem wiele miłych rzeczy o VIM. Ludzie, którzy go używają, przysięgają na jego wydajność i wzrost produktywności, jaki zapewnia. Ja też zawsze uważałem, że Vim jest fajny, ale to, co powstrzymało mnie przed wypróbowaniem go, to krzywa uczenia się. A z VS Code robiącym wszystko, a potem trochę dla mnie, czułem, że nigdy tego nie zrobię.
Po pierwsze, nie mam wątpliwości, że jeśli chodzi o „surową” wydajność i szybkość pisania/edycji kodu, Vim znacznie przyspieszyłby mnie. Uważam jednak, że jeśli chodzi o programowanie, szybkość pisania nigdy nie jest wąskim gardłem, ale szybkość myślenia. Pomimo mojej osobistej opinii, chcę wypróbować to przez następne 30 dni i zobaczyć, czy czegoś mi brakuje. Ale zanim to zrobię, chcę wspomnieć, jaki rodzaj pracy wykonuję i co uważam za kluczowe dla mnie w edytorze.
Co robię?
Cóż, moja praca polega głównie na pracy z usługami zaplecza napisanymi w TypeScript. Zwykle muszę otwierać i pracować nad wieloma projektami jednocześnie, a także otwierać wiele okien terminali na różnych ścieżkach. W grę wchodzi również wiele testów i generowanie kodu GraphQL.
Co jest dla mnie kluczowe w edytorze?
Oto niektóre z rzeczy, które naprawdę cenię w edytorze.
- Powinien pokazać mi błędy lintingu i ostrzeżenia
- Powinienem być w stanie łatwo śledzić, które bufory/pliki są otwarte i szybko przełączać się między nimi
- Nie powinien przeszkadzać mi w pracy, abym mógł skupić się na pracy
- Mile widziana dobra integracja z git
- Powinien obsługiwać serwer językowy dla maszynopisu i funkcje takie jak „przejdź do definicji”, „znajdź wszystkie odniesienia”
- Powinien obsługiwać formatowanie kodu
- I w końcu powinien być szybki, abym mógł otwierać wiele instancji bez spowalniania
- Umożliwia bezpośrednią pracę w kontenerach dokerów przy użyciu rozszerzenia Dev Container lub rozszerzenia WSL do pracy w środowisku Linux, jeśli korzystasz z systemu Windows i rozszerzenia Remote Explorer dla Ssh
- udostępnianie na żywo do programowania w parach
- Mnóstwo rozszerzeń dla prawie wszystkich języków
- Emmet i obsługa rozszerzeń fragmentów kodu
- Rozszerzenie GitHub CoPilot
- Rozszerzenia, które mają RestClients
- I wiele więcej, których nie używam, ale mogę, jeśli chcę, przy minimalnej wymaganej konfiguracji.
Początkowe ustawienia:
Zainstalowałem więc NeoVima, poszedłem za kilkoma samouczkami, aby włączyć podstawowe ustawienia, takie jak relative line numbers, zainstalowane VimPlugdo zarządzania wtyczkami, zainstalowane cocdla serwerów językowych, kilka innych rozszerzeń i NERDTree, aby było podobne do VSCode. Oto mój init.vim dla wszystkich zainteresowanych:https://github.com/osamaishtiaq/dev-settings/blob/main/init.vim
Poniżej przedstawiam jak wygląda moja obecna konfiguracja
Serwer językowy dla maszynopisu działa ładnie, prawie tak ładnie jak kod VS (prawie). Z przyjemnością informuję, że „przejście do definicji” i „znajdź wszystkie odniesienia” działają dobrze. Linting również wydaje się działać, ponieważ widzę liczbę błędów w prawym dolnym rogu paska stanu, jednak nie jest to idealne, ponieważ rzadko widzę wyskakujące okienko informacyjne po najechaniu myszką. W tym celu muszę użyć messagespolecenia. Używam również Tmuxdo pracy z wieloma oknami terminali i zainstalowałem Itermterminal, ponieważ słyszałem, że ma lepszą obsługę kolorów niż domyślny terminal macos. Usunąłem kod VS i jeśli wszystko pójdzie dobrze, być może nigdy nie będę musiał go ponownie instalować.
Aktualizacja (14 grudnia 2022 r.):
Musiałem przeinstalować VS Code… Powodem był sposób działania buforów w vimie i brak możliwości znalezienia poprawki w tej chwili. NERDTree nie podkreśla, które bufory są obecnie otwarte i nie mogłem znaleźć dobrego sposobu, aby zobaczyć, które pliki zostały zmodyfikowane, po prostu patrząc na NERDTree lub inne miejsce. Więc zamiast w pełni korzystać z Vima, zainstalowałem teraz rozszerzenie Vim dla VS Code jako kopię zapasową. Spróbuję użyć Vima, ale w przypadku, gdy coś po prostu nie działa i nie mam czasu, aby to naprawić, tymczasowo powrócę do VS Code z rozszerzeniem Vim. Więcej aktualizacji wkrótce.

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































