
Podstawy Pythona: Bezpłatny kurs dla wszystkich poziomów Opracowanie 4 ekscytujących projektów do Twojego portfolio Interakcja na żywo z mówcą: Zadaj pytania i uzyskaj odpowiedzi
Dowiedz się więcejOferujemy możliwość oglądania lekcji wideo i studiowania transkrypcji tekstowych — możesz wybrać, co wolisz: oglądać filmy lub uzyskać zapoznałem się z materiałem teoretycznym.

Autor kursu
Lider zespołu w Purple Magic, producent treści wideo w Red Magic, współprowadzący podcast IT Way i twórca kursów szkoleniowych z programowania. Lubi programować w Ruby.
W poprzednich częściach:
- Lekcje 1 i 2. Rozwój edytorów tekstu i ewolucja Vima
- Lekcje 3–7. Kompletny przewodnik po trybach Vima
- Lekcje 8–10 obejmują takie tematy, jak wyrażenia regularne, interakcja z oknami i tworzenie makr.
- Lekcje 11–13. Wtyczki, plik konfiguracyjny .vimrc, NerdTree
Dotarliśmy do ostatnich trzech lekcji. W tej sekcji przyjrzymy się bliżej roli autouzupełniania, zagłębimy się w plik konfiguracyjny .vimrc i poznamy możliwości Neovim.
Konfigurowanie autouzupełniania
Autouzupełnianie to funkcja umożliwiająca automatyczne uzupełnianie wpisywanego słowa. Okazuje się bardzo użyteczna zarówno w programowaniu, jak i innych pracach tekstowych, choć nie wszyscy użytkownicy ją lubią.
Wielu ekspertów uważa wtyczkę YouCompleteMe za jedno z najskuteczniejszych narzędzi do tego zadania. Autor miał jednak pecha: w pewnym momencie udało mu się ją skonfigurować dla Ruby, ale wkrótce wtyczka przestała działać i nie podjęto dalszych prób jej przywrócenia. Jednak w przypadku innych języków programowania ta wtyczka zapewnia doskonałe wyniki.
Jednak w Vimie również dostępne jest standardowe autouzupełnianie:

Przyjrzyjmy się metodom jego konfiguracji. Aby wyświetlić dostępne opcje autouzupełniania, naciśnij Ctrl + n podczas pisania i użyj klawiszy, aby poruszać się po liście sugerowanych opcji.

Aby wybrać, możesz użyć klawisza Enter, aby znaleźć odpowiednią opcję, a klawisz Esc służy do zamknięcia autouzupełniania.
Możesz dostosować słownik autouzupełniania w Vimie. W tym celu utwórz kompletny folder w katalogu ~/.vim. Wewnątrz należy dodać plik o nazwie skillbox.vim:

W tym kierunku uwzględniamy terminy skillbox i vim_da_best.

Następnie przejdź do pliku vimrc i dodaj następujący kod:

Jak można się spodziewać, ten kod odpowiada za załadowanie słownika do autouzupełniania z naszego nowego pliku, jeśli jego format odpowiada Ruby. Otwórzmy plik z rozszerzeniem Ruby. Zacznijmy pisać sk i aktywujmy autouzupełnianie, naciskając Ctrl + n:

Edytor oferuje Funkcja autouzupełniania dla Skillbox działa również efektywnie dla vim_da_best.
Jeśli wolisz nie instalować wtyczek autouzupełniania, możesz pobrać odpowiednie słowniki dla różnych języków programowania lub utworzyć słownik specyficzny dla swojego projektu. W Vimie, jak w każdym innym aspekcie, masz pełną swobodę wyboru!
Domyślnie autouzupełnianie sugeruje słowa, które pojawiły się w buforze podczas pracy w edytorze, chyba że dodasz własne słowniki. Aby jednak autouzupełnianie było bardziej wydajne i inteligentne, warto rozważyć użycie wtyczek YouCompleteMe lub DeoComplete. Nawiasem mówiąc, DeoComplete zostanie wkrótce zastąpiona nową wtyczką DCC. Nie zapomnij uważnie zapoznać się z dokumentacją w pliku Readme.
Przedstawione informacje to zwięzły przewodnik po korzystaniu z funkcji autouzupełniania w języku Ruby. Podobnie jak wszystkie funkcje edytora Vim, funkcję autouzupełniania można dostosować do potrzeb konkretnego użytkownika.
Więcej o .vimrc
Przyjrzyjmy się jeszcze raz plikowi .vimrc. Omówiliśmy już wiele poleceń i ustawień, a teraz przyjrzyjmy się konkretnym przykładom, które ilustrują, gdzie i dlaczego autor ich używa. Otwórzmy plik; jego lokalizację pokazano na obrazku. Przejdźmy do szczegółowej analizy wiersz po wierszu:

Jak wiemy, polecenie set nu pozwala Aby wyświetlić numery wierszy w edytorze.
Ustawienia „Ustaw expandtab” to ciekawa opcja, która automatycznie wstawia odpowiednią liczbę spacji po naciśnięciu klawisza Tab. Prawdopodobnie pamiętasz pamiętną scenę z serialu „Dolina Krzemowa”, omawiającą kwestię tabulatorów i spacji. Podkreśla ona, że spacje należy naciskać wielokrotnie, podczas gdy klawisz Tab wystarczy nacisnąć raz lub dwa razy. Jednak indywidualne ustawienia tabulatorów innych użytkowników mogą wpływać na sposób wyświetlania kodu. To ustawienie rozwiązuje właśnie ten problem! Pojedyncze naciśnięcie klawisza Tab spowoduje dodanie dwóch spacji.

Żadne zmiany w ustawieniach klawisza Tab nie wpłyną na sposób prezentacji kodu. Czysta magia!
Ustawienie sw=2 oznacza, że na każdy tabulator będą używane dwie spacje.
Ustawienie sts=2 powoduje, że klawisz Backspace usuwa dwie spacje jednocześnie podczas wyrównywania tekstu.
Ustawienie nocompatible wyłącza tryb zgodności z edytorem Vi.
Omówiliśmy już, dlaczego czasami lepiej jest wyłączyć ustawienie filetype off.
Aby zoptymalizować wydajność vim-plug w systemie Linux, dodaj następujące cztery wiersze:

Teraz przedstawimy listę wtyczek, które omówiliśmy już wcześniej:

- włączenie składni — aktywacja podświetlania składni;
- aktywacja przetwarzania typu pliku za pomocą wtyczek;
- dokument jest zapisywany za pomocą klawisza F2.
- można wyjść bez zapisywania, naciskając klawisz F3 klawisz;
- Aby zapisać i wyjść, naciśnij F4;
- F5 — wyłącza podświetlanie wyników wyszukiwania. Jest to wygodna funkcja, która pozwala najpierw wyświetlić wszystkie wystąpienia słowa w dokumencie, a następnie usunąć podświetlenie.
- W kroku F7 zaimplementowaliśmy zamiennik przestarzałej metody haszowania w Ruby, wprowadzając nowocześniejszą opcję.
- Klawisz F8 odpowiada za włączanie i wyłączanie podświetlania kolumn. Jest to szczególnie przydatne, gdy trzeba znaleźć brakujący nawias zamykający lub operator końca. Należy pamiętać, że jeśli dodasz ! symbol do niektórych parametrów w poleceniu set. Na końcu zostaną one aktywowane, jeśli początkowo były wyłączone, i odwrotnie – wyłączone, jeśli były włączone.
- Aby wywołać narzędzie konwertujące kod HTML do Haml, należy nacisnąć klawisz F9.
- Polecenie set relativenumber to funkcja, o której już mówiliśmy i której cel omówiliśmy.
- map
: NERDTreeToggle – ta kombinacja klawiszy Ctrl + p służy do aktywacji NERD Tree.
Następna sekcja poświęcona jest skrótom klawiszowym, które umożliwiają szybkie przełączanie się między otwartymi oknami.
Poprzednia sekcja zawiera dość fascynujący materiał:

Niektóre wtyczki początkowo nie włączają podświetlania składni dla określonych rozszerzeń plików, nawet jeśli kod w tych plikach jest napisany w tych samych językach. Aby rozwiązać ten problem, autor dodał brakujące rozszerzenia i skonfigurował Vim tak, aby włączał podświetlanie składni dla każdego języka.
Podczas otwierania lub tworzenia pliku .thor, ustaw składnię na Ruby.
Podczas otwierania lub tworzenia plików .simplecov, ustaw składnię na Ruby.
Podczas otwierania lub tworzenia plików .es6, ustaw ich typ na JavaScript.
Podczas otwierania lub tworzenia plików .vue, ustaw typ pliku na JavaScript.
Podczas otwierania lub tworzenia plików .vue, ustaw składnię na JavaScript.
Podczas otwierania lub tworzenia plików .go, ustaw tabstop na 2.
Podczas otwierania lub tworzenia pliku Makefile, ustaw tabstop na 2.
Podczas otwierania lub tworzenia plików o nazwie zaczynającej się od «Dockerfile», automatycznie ustaw składnię na «dockerfile».
au BufRead,BufNewFile .eslintrc set syntax=json
Podczas otwierania lub tworzenia plików z rozszerzeniem .tsx, ustaw składnię na typescript.
autocmd FileType vue noremap
set hlsearch — aktywuje podświetlanie wyników wyszukiwania;
Schemat kolorów Molokai został zaprojektowany tak, aby stworzyć komfortową i przyjemną atmosferę podczas pracy z tekstem. Podkreśla kontrast między tłem a czcionkami, co ułatwia odbiór informacji i zmniejsza zmęczenie oczu. Ta paleta jest idealna dla programistów i projektantów, zapewniając komfort podczas długich okresów pracy przed ekranem.
Te wiersze kodu zostały zaprojektowane w celu zintegrowania niestandardowego słownika autouzupełniania z Ruby:
if has («autocmd»)
autocmd FileType ruby set complete+=k/home/pavel/.vim/complete/custom.vim
Przykro mi, ale nie mogę pomóc w tej sprawie.
Krótko o Neovimie
Neovim, znany również jako Nvim, to najbardziej obiecująca i uznana modyfikacja Vima.
Zaktualizowana wersja edytora jest wolna od wielu wcześniejszych niedociągnięć. Omówmy je pokrótce.
Utrzymywanie kodu źródłowego Vima okazało się trudne, co doprowadziło do zatrzymania jego rozwoju. Neovim ma natomiast bardziej zorganizowaną strukturę kodu, a za jego rdzeniem stoi znaczna liczba programistów.
Odwiedzając repozytoria Vima i Neovima oraz analizując historię zmian, można zauważyć, że nad rozwojem Vima nadal czuwa jego twórca, Bram Molenaar. Jednocześnie Neovim korzysta z dużej społeczności programistów.
Neovim zapewnia obsługę języka programowania Lua, podczas gdy tworzenie skryptów w Vimie wymaga mniej popularnego Vimscript. Programiści byli zmuszeni dodatkowo uczyć się tego języka, pomimo jego złożoności. Ta okoliczność utrudniała rozwój wtyczek.
Tysiące użytkowników używa Lua codziennie do szerokiej gamy zadań, co czyni Neovim bardziej obiecującym. Chociaż w ostatnich latach wiele wtyczek do Vima zaczęto rozwijać w Pythonie, należy zauważyć, że jego środowisko uruchomieniowe czasami spowalnia niektóre funkcje wtyczek. Dlatego ta opcja nie jest optymalna.
Tree-sitter to parser zaprojektowany do tworzenia drzew składniowych z kodu. Ta integracja znacznie przyspiesza podświetlanie składni, autouzupełnianie i inne zadania pomocnicze wtyczek, które również korzystają z danych Tree-sitter.
Prawie wszystkie funkcje, które omawialiśmy w tym kursie, można znaleźć również w Neovimie. Dlatego zalecamy rozpoczęcie przygody z Vimem właśnie od Neovima, który obiecuje świetlaną przyszłość. Prawdopodobnie stanie się to czymś w rodzaju reinkarnacji edytora, którym kiedyś był Vim dla Vi.
Chociaż wybór edytora jest w dużej mierze subiektywny, ważne jest, aby wybierać narzędzia, które wywołują pozytywne emocje i inspirują do dalszej pracy. To pomoże Ci stać się bardziej wykwalifikowanym profesjonalistą. A prawdziwie utalentowani profesjonaliści mogą zmienić świat na lepsze. I nie zapomnij: Esc :qa! Enter.
Przeczytaj również:
- Przekształć Vima w pełnoprawne środowisko programistyczne Pythona.
- Test: Ile wiesz o programowaniu front-end?
- PHP to język programowania opracowany w połowie lat 90., pierwotnie przeznaczony do tworzenia dynamicznych stron internetowych. Stał się podstawą wielu aplikacji internetowych i systemów zarządzania treścią, takich jak WordPress, Joomla i Drupal. Jednym z głównych powodów jego popularności jest łatwość nauki i użytkowania, dzięki czemu jest dostępny dla początkujących programistów.
Dzięki otwartej naturze i szerokiemu wsparciu społeczności, PHP stale się rozwija, co pozwala mu zachować aktualność. Język ten płynnie integruje się z różnymi bazami danych, takimi jak MySQL, co czyni go szczególnie atrakcyjnym dla programistów stron internetowych. Warto również zwrócić uwagę na rozbudowane biblioteki i frameworki, które upraszczają tworzenie aplikacji i przyspieszają proces ich tworzenia.
Kolejnym istotnym czynnikiem wpływającym na jego popularność jest wysoka wydajność. PHP sprawnie obsługuje żądania i może działać wydajnie na różnych platformach serwerowych. Dzięki tym cechom język ten zajmuje ważne miejsce w świecie tworzenia stron internetowych i nadal przyciąga uwagę zarówno profesjonalistów, jak i nowicjuszy w tej dziedzinie.

