nano – mała rzecz a cieszy i pomaga (w linuxie)

„vi” to jeden z tych programów, jakim starzy wyjadacze lubią „straszyć”  początkujących użytkowników linuksa. Bezsprzecznie vi ma potężne możliwości. Niestety, dla użytkowników przyzwyczajonych do Windows, jego „interfejs” użytkownika… delikatnie mówiąc do najbardziej przyjaznych nie należy.

Nie musicie męczyć się z vi. „nano” jest jednym z tych edytorów, który spotkacie w prawie każdej dystrybucji uniksowej i linuksowej – również Raspbianie dla Raspberry. Dalej mówimy o narzędziu działającym w oknie tekstowym. Jego obsługa jest jednak znacznie bardziej intuicyjna. Opanowanie go zajmie Wam dosłownie chwilę – a przyda się wielokrotnie.

Uruchomienie

Podstawowe wywołanie nano:

Oczywiście <nazwa_pliku> to nazwa zasobu (ze ścieżką dostępu do niego), który chcecie edytować, np. dla pliku „text.txt”:

Jeżeli potrzebujecie edytować pliki o ograniczonym dostępie, konieczne będzie podniesienie Waszych uprawnień do poziomu roota (oczywiście pod warunkiem, że jesteście członkami odpowiedniej grupy) , na przykład za pomocą komendy sudo:

W tym momencie otworzy się okno programu z zawartością pliku – gotowe do edycji:

Jeżeli nie podacie nazwy pliku, nano otworzy pusty plik – który później będziecie mogli zapisać. W ten sposób można używać nano zamiast np. polecenia „touch”.

Zwróćcie uwagę na dolną linię. Znajdziecie w niej listę najczęściej używanych skrótów klawiszowych:

  • „^” oznacza klawisz [Ctrl]. Wciśnijcie go – a potem dodatkową literkę,
  • „M” oznacza klawisz „meta”, najczęściej jest to lewy [Alt]; skrót „M-R” oznacza wciśnięcie klawisza [Alt] oraz [R].

Zapisanie edytowanego pliku?

Wciśnij [Ctrl-O], żeby zapisać plik na dysku. Jeżeli zrobiliście jakieś zmiany, edytor zapyta Was w jakim pliku zapisać te zmiany (obserwujcie dolną linijkę).  Jeżeli po prostu wciśniecie [Enter] – zapisze w tym, który otworzyliście; inaczej możecie podać nową nazwę zapisując w ten sposób kopię oryginalnego pliku z Waszymi zmianami w nowym pliku (lub w innej lokalizacji).

[Ctrl-S] zapisuje zawartość pliku bez dodatkowych zapytań:)

Wyjście z edytora

Wyjście z edytora:

  • [CTRL-X] wychodzi z edytora,
  • Jeżeli zrobiliście jakieś zmiany, edytor zapyta Was czy je zapisać:
    • (Y) dla tak
    • Edytor zapyta jeszcze w jakim pliku zapisać te zmiany: jeżeli po prostu wciśniecie [Enter] – zapisze w tym, który otworzyliście; inaczej możecie podać nową nazwę zapisując w ten sposób kopię oryginalnego pliku z Waszymi zmianami w nowym pliku (lub w innej lokalizacji).
  • W skrócie: wyjście i zapisanie edytowanego pliku: [CTRL-x][y][Enter].

Dodatkowe opcje startowe

nano możecie wywołać z dodatkowymi parametrami, np:

  • „-c”: na dole ekranu pojawi się znacznik linii i kolumny, w której znajduje się kursor; ALT-G pozwala na skakanie do konkretnych linii,
  • „-l” (małe L): pokazuje numery linii
  • „-E”: znaki tabulacji będą zamieniane na spacje,
  • „-w” – nie zawija wierszy, szczególnie przydatne przy edycji plików konfiguracyjnych, gdzie pomylenie „zawijania” i końca linii może prowadzić do błędów.

Pełną listę parametrów (jest ich ponad 40) możecie uzyskać wpisując:

Przeszukiwanie tekstu

Jedną z najważniejszych funkcji edytora jest możliwość wyszukiwania ciągów znaków w tekście.  Zadanie to często pojawia się, gdy analizuję kod w poszukiwaniu pewnych konstrukcji. Załóżmy, że mam katalog pełen plików o nieznanej zawartości. Poszukuję w nich tagów związanych z ciasteczkami:

Widać stąd, że interesuje mnie linijka 1345 w pliku /etc/lynx/lynx.cfg. Mogę go sobie wyświetlić nano:

Plik zostanie otwarty, a numery linii wyświetlone na lewym marginesie. Teraz wystarczy wcisnąć [ALT-G] i wpisać numer 1345 (dolna linia):

Po zatwierdzeniu [Enter] karetka przesunie się do wprowadzonej linii.

grep-em dobrze przeszukuje się grupy plików. nano potrafi przeszukiwać otwarty w nim plik. Wciśnijcie:

  • [Ctrl-W] lub [F6]: rozpocznij poszukiwanie – podaj łańcuch znaków (dolna linia),
  • [Alt-W] Powtórz wyszukiwanie,
  • Jeszcze raz wciskając [Ctrl-W]: ostanie wyszukiwanie będzie „domyślnym” ciągiem (w nawiasach kwadratowych); jeżeli teraz wciśniecie:
    • [Enter] – nano skoczy do następnego wystąpienia ostatnio wyszukiwanego ciągu znaków,
    • [Alt-B] – zmieni kierunek poszukiwania na wsteczny; wystarczy wcisnąć [Enter] a nano skoczy do poprzedniego wystąpienia ciągu; teraz wciskając [Alt-W] będzie wyszukiwać do tyłu.

Pliki konfiguracyjne

nano obsługuje pliki konfiguracyjne położone w:

  • w katalogu domowym (~/.nanorc – z kropką), działający dla danego użytkownika,
  • w katalogu systemowym (/etc/nanorc – bez kropki), konfigurujący zachowanie nano dla wszystkich użytkowników – na poziomie systemu.

Przykładowy plik konfiguracji możecie znaleźć: /usr/share/doc/nano/examples/sample.nanorc.

Kolorowanie składni

Co ciekawe, nano potrafi kolorować składnię (zaznaczać słowa kluczowe składni np. języka programowanie). W zależności od systemu, funkcja ta może być włączona lub nie. Spójrzcie najpierw na /etc/nanorc – znajdziecie w nim (lub nie) linijkę:

Instrukcja ta dodaje konfiguracje pisowni, które domyślnie znajdują się w katalogu /usr/share/nano, np.

Sprawdźcie, przykładowy plik html:

nano powinien zaznaczyć słowa kluczowe. Jeżeli nie, dodajcie linijkę:

…do jednego z plików:

  • /usr/share/nano
  • W katalogu domowym: „.nanorc”:

Dodatkowe ustawienia w plikach konfiguracyjnych

Pliki „~/.nanorc” lub „/etc/nanorc” służą nie tylko do włączania definicji składni. Za ich pomocą można konfigurować zachowanie nano. Dla przykladu:

  • „set historylog:” pamięta ostatnio poszukiwane łańcuchy znaków – zamiast je wpisywać, możecie wcisnąć strzałki góra/dół, żeby przywołać ostatnie poszukiwania (plik: .nano/search_history),
  • „set linenumbers”: jak „-l” przy starcie – pokazuje numery linii na lewym marginesie,
  • „set nowrap”: nie łamie linii tekstu do ekranu – jak „-w” przy starcie,
  • „set backup”: gdy zapisujecie plik, tworzona jest kopia zapasowa jego poprzedniej wersji, jako ~<nazwa_pliku>,
  • „set tabstospaces”: gdy wciśniecie [Tab] – edytor automatycznie zamieni znak tabulacji na spacje (o ilości „set tabsize …”).

Inne opcje pozwalają np. na zmianę kolorów elementów ekranu czy powiązań klawiszy.

Sprawdzanie poprawności pisowni.

Domyślnie nano nie ma modułu sprawdzania pisowni. Możecie go jednak zainstalować pakiet „spell”:

Sprawdzanie pisowni uruchomi kombinacja [Ctrl-T]. Generalnie może wydawać się, że to średnio przydatna funkcja – pakiet zawiera tylko słownik angielski. Co jednak ciekawe – nano sprawdza wtedy poprawność słów kluczowych. A to już jest przydatne.

Lista najważniejszych skrótów klawiszowych

KlawiszRezultat 
CTRL-XWyjście z edytora
CTRL+GPomoc
CTR-CWyświetl pozycję kursora
ALT-GWciśnij kombinację i podaj numer linii, do której ma skoczyć kursor
CTRL-OZapisz plik - z mozliwością zmiany jego nazwy
CTRL-SZapisz plik
CTRL-KWytnij zawartość i dodaj linię d bufora
CTRL-UWklej zawartość z bufora
CTRL+WWyszukaj tekst
ALT+WPowtórz ostatnie wyszukiwanie

Skomentuj ten tekst na facebook.

Źródła

  • http://pl.linux.wikia.com/wiki/Nano
  • https://www.nano-editor.org/dist/v2.1/nanorc.5.html#DESCRIPTION
  • https://www.nano-editor.org/dist/v2.0/faq.html#3.8
  • https://www.nano-editor.org/