Edytor

W czym edytować? Czyli o najpopularniejszych konsolowych edytorach tekstu w Linuksie

Edytory tekstu są programami komputerowymi ukierunkowanymi na wprowadzanie oraz edycję tekstu. W przeciwieństwie do procesorów tekstu, które mają mu nadać zaawansowane cechy formatowania. Dziś kilka słów o najpopularniejszych edytorach na systemy GNU/Linux.

Edytory tekstu są programami komputerowymi ukierunkowanymi na wprowadzanie oraz edycję tekstu. W przeciwieństwie do procesorów tekstu, które mają mu nadać zaawansowane cechy formatowania. Dziś kilka słów o najpopularniejszych konsolowych edytorach na systemy GNU/Linux.

Nie w tym rzecz, że nie masz czasu na pisanie. Rzecz w tym, że nie uważasz tego za wystarczająco ważne, by poświęcić temu czas – powiedział Chuck Wendig, amerykański twórca komiksów, scenarzysta i bloger. Jednak dysponowanie czasem to nie wszystko. Musimy jeszcze mieć o czym napisać i na czym, a w dobie komputerów – w czym. Z pomocą przychodzą edytory tekstu, które analogicznie do innych programów dostępne są zarówno w prostych, jak i zaawansowanych wersjach. Dziś skupię się na najistotniejszych edytorach używanych w systemach uniksowych.

Vim

Vim – jest wieloplatformowym klonem edytora vi należącym do grupy wolnego oprogramowania o otwartym kodzie źródłowym1. Napisał go holenderski programista Bram Moolenaar, a jego pierwsze wydanie miało miejsce w 1991 roku. Program oparty jest na licencji charityware (careware), która umożliwia jego bezpłatne używanie. Autor zachęca jednak do finansowego wspierania instytucji charytatywnych. W tym wypadku chodzi o pomoc dzieciom w Ugandzie2. Czytelnicy miesięcznika Linux Journal kilkukrotnie wybierali Vima na najpopularniejszy edytor tekstu.

Edytor Vim wyposażono w możliwość wielokrotnego cofania dokonanych zmian. Dodatkowo wprowadzono ułatwienie w postaci przewijania ekranu w poziomie, co ułatwia pracę, gdy edytujemy wiersze dłuższe od szerokości ekranu. Vim oferuje także podświetlenie składni, obsługę rozszerzonych wyrażeń regularnych i wspiera narzędzia programistyczne, takie jak GCC, CVS, make czy ctags. Pozwala na pracę modalną i w trybie ciągłej edycji.
Ponadto można spotkać się z programem gVim. Jest to edytor Vim z wbudowanym interfejsem graficznym. Zwykły Vim potrzebuje bowiem emulatora terminala (na przykład GNOME Terminal).

Warto wspomnieć także o tym, że od kilku lat rozwijany jest projekt Neovim. Jest to edytor, który niemal w pełni pokrył pełną funkcjonalność Vima, rozwiązując przy okazji wiele jego bolączek. Dodatkowo jest on zgodny z duchem swojego poprzednika.
Osobom chcącym rozpocząć pracę z Vimem polecam samouczek. Wykonując polecenie vimtutor w wierszu poleceń otrzymamy specjalny plik tekstowy. Podczas czytania i wykonywania zawartych w nim poleceń poznajemy w aktywny sposób ten wspaniały i potężny edytor.

Innym ciekawym narzędziem do nauki Vima jest gra (dostępna pod tym adresem https://vim-adventures.com/). W oczywisty sposób daje nam możliwość połączenia przyjemnego z pożytecznym. Niestety dalsze jej etapy oraz możliwość zapisywania jest dostępna tylko w po uiszczeniu opłaty. Niemniej jest ona jednym z najciekawszych tutoriali, jaki spotkałem w świecie komputerowym.

GVim_zrzut

Interfejs programu. Źródło: https://pl.wikipedia.org/wiki/Vim

Emacs

Emacs – jest zaawansowanym edytorem tekstu napisanym pierwotnie w 1976 roku przez Richarda Stallmana, założyciela projektu GNU i jednego z twórców ruchu wolnego oprogramowania. W 1984 roku Stallman rozpoczął jednak pisanie jego nowej wersji. W rezultacie w 1985 dystrybuowano już GNU Emacs 15.34.

Emacs opiera się o niewielkie i wydajne jądro napisane w języku C zawierające interpreter dialektu Lispu – Emacs Lisp3. Ponadto posiada ogromną nadbudowę napisaną w języku Lips, co sprawia, że jest niezwykle elastyczny. Emacs charakteryzuje integracja z kompilatorami, systemami kontroli wersji oraz programem powłoki systemowej make. Dodatkowo daje możliwość podświetlania i automatycznego formatowania kodu źródłowego.

Emacs posiada także kilka nietypowych zastosowań. Może bowiem zastępować przeglądarkę stron WWW czy klienta poczty elektronicznej. Pozwala także na obsługę modemów i przeglądanie katalogów. Warto zaznaczyć, że dla Emacsa istnieje implementacja programu symulującego psychoanalityka – ELIZA4.

23 lutego 2008 roku Richard Stallman poinformował użytkowników emacs-devel, że poszukuje nowego opiekuna dla projektu Emacs. W rezultacie pieczę nad nim przejęli Stefan Monnier i Chong Yidong. Oryginalny wpis Stallmana dostępny jest tutaj.

Emacs_zrzut

Interfejs programu. Źródło: https://pl.wikipedia.org/wiki/Emacs

JOE

JOE (Joe’s Own Editor) – jest prostym edytorem tekstu stworzonym przez Josepha H. Allena. Różni się od standardowych edytorów konsolowych, takich jak vi i Emacs. Bardziej przypomina bowiem edytor WordStar (brak trybów pracy i rozbudowanej klawiszologii), czy też środowisko Turbo firmy Borland5. Dzięki temu JOE doskonale nadaje się dla osób, które rozpoczynają pracę w trybie tekstowym.

JOE daje spore możliwości konfiguracyjne i pozwala dostosowywać sposób działania do innych programów tego typu. Dodatkowo w standardzie posiada konfiguracje pozwalające na emulowanie WordStar, Pico i Emacsa. Charakteryzuje się dobrym dopasowaniem do różnego typu terminali oraz telepracy. Pozwala także na jednoczesną pracę z kilkoma plikami – ekran zostaje wówczas odpowiednio podzielony.

Edytor JOE znajdziemy w repozytorium EPEL.

Joes_zrzut

Interfejs programu. Źródło: https://pl.wikipedia.org/wiki/JOE

GNU Nano

GNU Nano – jest wolnym klonem konsolowego edytora pico opartym na bibliotece ncurses. Stworzył go w 1999 roku Chris Allegretta jako substytut dla niewolnego pico. Wówczas jego nazwą był akronim rekurencyjny TIP (TIP Isn’t Pico). Konflikt nazw z inną aplikacją spowodował, że w 2000 roku zmieniono ją na Nano. Natomiast rok później edytor stał się oficjalną częścią projektu GNU6.

W późniejszym czasie wprowadzono do niego ulepszenia znacząco poprawiające jego użyteczność. Mowa o kolorowaniu tekstu, wyszukiwaniu przy pomocy wyrażeń regularnych czy obsłudze wielu buforów naraz. W 2003 roku twórca Nano oficjalnie powierzył dalszy rozwój projektu Davidowi Lawrence’owi Ramseyowi.

Kolejne wersje edytora będą obsługiwały kodowanie UTF-8, pozwolą na cofanie wprowadzonych zmian i dostosowanie skrótów klawiszowych.

Nano

Interfejs programu. Źródło: https://pl.wikipedia.org/wiki/Nano_(program)

Nano nie obsługuje zdarzeń myszy na rzecz wspomnianych wyżej skrótów klawiszowych. Przykładowo, gdy chcemy zapiać plik, naciskamy Ctrl-0, z kolei po wciśnięciu Ctrl-W program uruchamia nam tryb wyszukiwanie tekstu. Najczęściej używane skróty wraz z opisem wyświetlają się u dołu ekranu. W Nano, w przeciwieństwie do pico, używamy metaklawiszy w celu przełączania trybów zachowania.

Są także inne

Oczywiście w świecie Open Source jak zwykle istnieje mnogość edytorów tekstu dostępnych na systemy GNU/Linux. Mowa zarówno o tych pracujących w trybach tekstowych, jak i z wbudowanym interfejsem graficznym. Przedstawiliśmy tylko te najpopularniejsze. Każdy z nich oprócz niewątpliwych zalet posiada niedoskonałości, które mogą się uwidaczniać przy specyficznych zastosowaniach. Dlatego warto przetestować je wszystkie, aby wybrać ten, który okaże się optymalny dla naszych zastosowań.

Źródła:
1https://pl.wikipedia.org/wiki/Vim
2https://books.google.pl/books?id=H0NjAgAAQBAJ&pg=PA200&lpg=PA200&dq=vim+pomoc+w+ugandzie&source=bl&ots=PcmQjf337P&sig=24SlqhdoAWvWl7bmsjn0qIYXYHw&hl=pl&sa=X&ved=0ahUKEwj3iL2HsOjWAhVKbVAKHVwACi0Q6AEILDAB#v=onepage&q=vim%20pomoc%20w%20ugandzie&f=false, s. 200
3https://pl.wikipedia.org/wiki/Emacs_Lisp
4https://pl.wikipedia.org/wiki/ELIZA
5https://pl.wikipedia.org/wiki/JOE
6https://pl.wikipedia.org/wiki/Nano_(program)

Autorzy

Artykuły na blogu są pisane przez osoby z zespołu EuroLinux. 80% treści zawdzięczamy naszym developerom, pozostałą część przygotowuje dział sprzedaży lub marketingu. Dokładamy starań, żeby treści były jak najlepsze merytorycznie i językowo, ale nie jesteśmy nieomylni. Jeśli zauważysz coś wartego poprawienia lub wyjaśnienia, będziemy wdzięczni za wiadomość.