Programowanie na Linuksie

Czyli kilka słów o Vim’ie (vimrc, YCM), ctags, Make oraz produktach od JetBrains.

Hej, dzisiaj chciałbym powiedzieć o kilku potencjalnie przydatnych narzędziach służących do programowania na Linuksie, których sam używam. Opowiem także o paru konfiguracjach których używam.

Jak (możliwe) część z Was wie, ale w swojej pracy używam głównie Linuksa, z tego powodu zdążyłem sobie nieco oszlifować swój warsztat pracy.

 

Zaczynając od początku to najczęściej używam edytora tekstu [Vim], dlaczego? Jest lekki, względnie uniwersalny i przyjemny w użytkowaniu (tak, mowa o tym edytorze z którego nikt nie umie wyjść), oprócz tego można go bezproblemowo odpalać przez SSH z poziomu terminala, a to przydaje mi się w wielu sytuacjach (okienkowa wersja istnieje, ale jest to nakładka na konsolę).

ch
Oprócz tego można go samemu łatwo skryptować i posiada masę pluginów.

W ten sprytny sposób przeszliśmy do pluginu [YouCompleteMe], który w dynamiczny sposób podpowiada nam składnię, tutaj znowu potrzebujemy chwilę się pobawić w konfigurację aby wszystko ładnie działało, ale w wielu sytuacjach rozwiązanie Vim + YCM, było dla mnie niezastąpione.

Oprócz tego polecam korzystać z narzędzia [ctags], dzięki któremu będziemy mogli skakać w Vim’ie np. do deklaracji danej zmiennej.

Jeżeli ktoś jest ciekawy, to poniżej zamieszczam swoją główną konfigurację vim’a, która zazwyczaj jest minimalnie inna dla różnych projektów

W skrócie służy on do:

  • wymuszenia unixowych zakończeń linii (a więc zawsze LF, a nie np. windowsowe: CRLF);
  • pozbywania się plików swp, ustawia theme „evening”;
  • automatycznie tworzy wcięcia składające się z 2 spacji;
  • włącza kolorowanie składni i numerację linii;
  • wyłącza tworzenie automatycznych wcięć przy wklejaniu czegoś do niego;
  • zapamiętuje linię na której ostatnio byliśmy przed zamknięciem pliku i wraca do niej po ponownym otwarciu tego samego pliku;
  • mapuje kilka przydatnych skrótów (skok do definicji, zapis i wyjście).

Oprócz samego Vim’a warto do samej kompilacji bardzo często używa się [Make], który nie ma jakiejś ogólnej konfiguracji, więc tutaj podlinkuję jedynie [ciekawy poradnik] oraz wrzucę jakiś przykład:

Jak można się domyślić powyższe rozwiązania nie zawsze są idealne, a same okienka jednak są nieco wygodniejsze, tutaj z pomocą przychodzą nam narzędzia od [JetBrains], które są pełnoprawnymi IDE na Linuksa.

CLion

Tutaj lubię jedynie zmienić theme na ciemny i plugin zmieniający skróty na te Vim’owe. Poza tym osobiście polecam do skorzystania z ich produktów (obsługują wiele języków, np C++, Java, Python, PHP, Go, …) jeżeli nie musicie korzystać głównie z konsolowych rozwiązań ;)

To tyle ode mnie w tym wpisie, nie pisałem tutaj o wielu innych przydatnych narzędzi (tj. Valgrind), bo one już mogą zależeć bardziej od specyfiki danego projektu.

Wyżej wspomnianych narzędzi używam na co dzień, w różnych sytuacjach przy pisaniu kodu. Jeżeli używacie jakichś innych ciekawych narzędzi, to śmiało dajcie znać w komentarzach ;)

Code ON!