NANO(1)

NAZWA
nano - edytor tekstu, zainspirowany przez Pico

SKŁADNIA
nano [opcje] [[+wiersz[,kolumna]] plik]...

nano [opcje] [[+[crCR]{/|?}łańcuch] plik]...

INFORMACJA
Od wersji 8.0, aby być przyjaźniejszym dla nowych użytkowników, ^F rozpoczyna wyszukiwanie wprzód (od ang. forward), ^B rozpoczyna wyszukiwanie wstecz (ang. backward), M-F wyszukuje kolejne wystąpienie wprzód, a M-B wyszukuje kolejne wystąpienie wstecz. Aby podane skróty zachowały swe funkcje sprzed wersji 8.0, konieczne jest dodanie następujących wierszy na końcu swojego pliku nanorc:

    bind ^F forward main
    bind ^B back main
    bind M-F formatter main
    bind M-B linter main

OPIS
nano jest niewielkim i przyjaznym edytorem tekstu. Kopiuje wygląd i zachowanie Pico, lecz jest wolnym oprogramowaniem, zapewniającym dodatkowe funkcje, których brak Pico, takie jak: otwieranie wielu plików, przewijanie według wiersza, cofanie/ponawianie, kolorowanie składni, numerowanie wierszy oraz miękkie zawijanie zbyt długich wierszy. Nazwa jest skrótem rekurencyjnym od Nano's ANOther editor (Nano to kolejny edytor).

Przy przekazywaniu nazwy pliku w wierszu poleceń można umieścić kursor w określonym wierszu, dodając numer wiersza po znaku plus (+) przed nazwą pliku, a nawet w określonej kolumnie, dodając ją po przecinku. Ujemne liczby są liczone od końca pliku lub wiersza.

Kursor można umieścić w pierwszym lub ostatnim wystąpieniu określonego łańcucha, podając go po +/ lub +?, a przed nazwą pliku. Łańcuch można uczynić wrażliwym na wielkość znaków lub interpretowanym jako wyrażenie regularne, podając c i/lub r po znaku +. Tryby wyszukiwania można wyraźnie wyłączyć, korzystając z wariantów pisanych wielkimi literami: C i/lub R. Jeśli łańcuch zawiera spacje, trzeba go podać w cudzysłowie. Poniższy przykład otwiera plik na pierwszym wystąpieniu słowa „Foo”:

    nano +c/Foo plik

Jako specjalny przypadek, podając jako nazwę pliku kreskę (-), nano odczyta dane ze standardowego wejścia.

EDYTOWANIE
Edytowanie tekstu i przemieszczanie się po pliku jest łatwe: polega na wpisywaniu liter i korzystaniu ze zwykłych klawiszy strzałek. Polecenia są wprowadzane za pomocą klawisza Control (^) oraz klawiszy Alt lub Meta (M-). Wpisanie ^K usunie bieżący wiersz i umieści go w buforze wycinania. Kolejne ^K umieszczają wszystkie usunięte wiersze razem w buforze wycinania. Dowolny ruch kursorem lub wykonanie innego polecenia powoduje, że kolejne ^K nadpiszą bufor wycinania. ^U wkleja aktualną zawartość bufora wycinania w bieżącej pozycji kursora.

Gdy wymagane jest precyzyjniejsze wskazanie tekstu do wycięcia lub skopiowania, można zaznaczyć jego początek za pomocą ^6, przemieścić kursor na koniec (zaznaczony tekst jest podświetlony), a następnie użyć ^K do wycięcia go lub M-6 do skopiowania do bufora wycinania. Można również zapisać zaznaczony tekst do pliku poleceniem ^O lub sprawdzić pisownię za pomocą ^T^T.

Na niektórych terminalach, tekst można zaznaczyć również korzystając ze strzałek, przytrzymując jednocześnie klawisz Shift. Równoczesne przytrzymanie klawisza Ctrl lub Alt przyspiesza tempo zaznaczania. Dowolny ruch kursorem bez klawisza Shift anuluje takie zaznaczenie.

W buforze można umieścić każdy prawidłowy punkt kodowy Unikodu poleceniem M-V, po którym następują szesnastkowe cyfry punktu kodowego (zakończone <Spacją> lub <Enterem>, jeśli jest mniej niż sześć cyfr). Dosłowny kod kontrolny (z wyjątkiem ^J) można wstawić poprzedzając go M-V.

Dwa wiersze na dole ekranu ukazują pewne ważniejsze polecenia; wbudowana pomoc (^G) wypisze wszystkie dostępne. Domyślne przypisania klawiszy można zmienić za pomocą pliku nanorc — zob. nanorc(5).

OPCJE

-A, --smarthome
    Czyni klawisz Home sprytniejszym. Gdy Home zostanie wciśnięty wszędzie, poza samym początkiem znaków innych niż białe znaki w wierszu, kursor przeskoczy do tego początku (wprzód lub wstecz). Jeśli kursor jest już na tej pozycji, przeskoczy na faktyczny początek wiersza.

-B, --backup
    Przy zapisywaniu pliku, tworzy kopię zapasowej poprzedniej wersji, dołączając do bieżącej nazwy pliku tyldę (~).

-C katalog, --backupdir=katalog
    Tworzy i utrzymuje nie tylko jeden plik kopii, lecz tworzy unikalnie numerowaną kopię za każdym zapisem pliku — gdy włączona jest kopia zapasowa (-B). Unikalnie numerowane pliki są przechowywane w podanym katalogu.

-D, --boldtext
    Wyświetlając interfejs, korzysta z pogrubionego fontu, zamiast odwróconych kolorów. Można to przesłonić dla konkretnych elementów, przez ustawienie opcji titlecolor, statuscolor, promptcolor, minicolor, keycolor, numbercolor i/lub selectedcolor w pliku nanorc użytkownika. Zob. nanorc(5).

-E, --tabstospaces
    Przekształca każdy tabulator na spacje — używając odpowiedniej liczby spacji, aby zająć tyle samo miejsca, co zastępowany tabulator (uwaga: wklejane tabulatory nie są konwertowane).

-F, --multibuffer
    Odczytuje plik domyślnie do nowego bufora.

-G, --locking
    Przy edytowaniu pliku, korzysta z blokady pliku w stylu vima.

-H, --historylog
    Zachowuje ostatnie sto wyszukiwanych łańcuchów, łańcuchów zastępujących i wykonywanych poleceń, dzięki czemu można ich łatwo użyć ponownie w kolejnych sesjach.

-I, --ignorercfiles
    Nie korzysta z systemowego pliku nanorc, ani z nanorc użytkownika.

-J numer, --guidestripe=numer
    Rysuje pionową prowadnicę w podanej kolumnie, aby pomóc ocenić szerokość tekstu (kolor prowadnicy można zmienić za pomocą set stripecolor w pliku nanorc użytkownika).

-K, --rawsequences
    Bezpośrednio interpretuje sekwencje ucieczki, zamiast czynić to za pośrednictwem ncurses (jeśli opcja ta jest potrzebna do poprawnego działania niektórych klawiszy oznacza to, że używany opis terminala terminfo nie pasuje w pełni do rzeczywistego zachowania danego terminala; może się tak zdarzyć np. przy łączeniu za pomocą ssh z komputerem korzystającym z BSD). Korzystanie z tej opcji wyłącza obsługę myszy w nano.

-L, --nonewlines
    Nie dodaje automatycznie nowego wiersza, gdy tekst się nim nie kończy (może to spowodować zapisanie pliku tekstowego niezgodnego z POSIX).

-M, --trimblanks
    Wycina początkowe białe znaki z zawijanych wierszy, gdy zachodzi twarde zawijanie lub gdy tekst jest wyjustowany.

-N, --noconvert
    Wyłącza automatyczną konwersję plików z formatu DOS/Mac.

-O, --bookstyle
    Przy justowaniu, traktuje każdy wiersz zaczynający się białym znakiem jako początek akapitu (chyba że włączono automatyczne wcięcia).

-P, --positionlog
    Dla 200 ostatnich plików, zachowuje ostatnią pozycję kursora i umieszcza kursor w tej pozycji przy ponownym otwarciu takiego pliku. Zapisuje również i odtwarza pozycje wszelkich zaczepień.

-Q "wyrażenie-regularne", --quotestr="wyrażenie-regularne"
    Ustawia wyrażenie dopasowujące część wiersza będącą cytowaniem. Domyślną wartością jest „^([ \t]*([!#%:;>|}]|//))+” (proszę zauważyć, że \t oznacza tu tabulator). Dzięki temu można wyjustować ponownie bloki cytowanego tekstu przy tworzeniu wiadomości poczty elektronicznej oraz zawinąć ponownie bloki wierszy komentarzy, przy pisaniu kodu źródłowego.

-R, --restricted
    Tryb ograniczony: nie odczytuje ani nie zapisuje żadnego pliku poza podanym w wierszu polecenia. Oznacza to: brak odczytywania i zapisywania plików historii; niedopuszczalność wstrzymywania programu; brak sprawdzania pisowni; brak możliwości: dopisywania do pliku, dołączania na początku pliku oraz zapisywania pliku pod inną nazwą niż obecna; brak tworzenia plików z kopią zapasową. Tryb ograniczony można włączyć również, wywołując nano z nazwą zaczynającą się literą „r” (np. „rnano”).

-S, --softwrap
    Wyświetla na kolejnych ekranach wiersze, które przekroczyły szerokość ekranu (można sprawić, aby to miękkie zawijanie miało miejsce na białych znakach, zamiast prymitywnie na krawędzi ekranu, podając również --atblanks).

-T liczba, --tabsize=liczba
    Ustawia rozmiar (szerokość) tabulatorów na liczbę kolumn. Wartość liczby musi być większa od 0. Domyślnie jest to 8.

-U, --quickblank
    Pasek statusu zniknie po użyciu jednego klawisza, zamiast 20. Proszę zauważyć, że niniejszą opcję przesłoni -c (--constantshow). Gdy działa opcja --minibar lub --zero, --quickblank spowoduje, że komunikat zniknie po 0,8 sekundy, zamiast domyślnych 1,5 sekundy.

-V, --version
    Wyświetla aktualną wersję programu i wychodzi.

-W, --wordbounds
    Inaczej wykrywa granice słów, traktując znaki interpunkcyjne jako część słowa.

-X "znaki", --wordchars="znaki"
    Określa inne znaki (poza zwykłymi alfanumerycznymi), które mają być traktowane jako część słowa. Przy korzystaniu z tej opcji, prawdopodobnie zechce się pominąć -W (--wordbounds).

-Y nazwa, --syntax=nazwa
    Określa nazwę mechanizmu podświetlania składni, korzystając z jednego ze zdefiniowanych w plikach nanorc.

-Z, --zap
    Pozwala niezmodyfikowanemu klawiszowi Backspace lub Delete usunąć zaznaczony fragment (zamiast pojedynczego znaku i bez wpływu na bufor wycinania).

-a, --atblanks
    Przy dokonywaniu miękkiego zawijania, zawija wiersze na białych znakach, zamiast zawsze na krawędzi ekranu.

-b, --breaklonglines
    Automatically hard-wrap the current line when it becomes overlong, that is: when it becomes wider than the value given with -r (--fill). The default value for -r is the terminal's width minus eight. (This option is the opposite of -w (--nowrap) — the last one given takes effect.)

-c, --constantshow
    Stale zgłasza pozycję kursora w pasku statusu. Niniejsza opcja przesłania opcję -U (--quickblank).

-d, --rebinddelete
    Dokonuje innej interpretacji klawiszy Delete i Backspace, dzięki czemu oba klawisze działają poprawnie. Opcji niniejszej należy używać wyłącznie wtedy, gdy Backspace działa jak Delete lub Delete działa jak Backspace.

-e, --emptyline
    Nie korzysta z wiersza pod paskiem tytułu, pozostawiając go pustym.

-f plik, --rcfile=plik
    Odczytuje tylko podany plik w celu ustawienia opcji nano, zamiast czytać oba pliki nanorc: systemowy i użytkownika.

-g, --showcursor
    Pokazuje kursor w przeglądarce plików (umieszczając go na podświetlonym elemencie) i w przeglądarce pomocy. Przydatne dla użytkowników braille'a oraz osób ze słabszym wzrokiem.

-h, --help
    Pokazuje podsumowanie dostępnych opcji wiersza poleceń i wychodzi.

-i, --autoindent
    Automatycznie wcina nowo tworzony wiersz o taką samą liczbę tabulatorów i/lub spacji, co wiersz poprzedni (lub co wiersz następny, jeśli poprzedni wiersz jest początkiem akapitu).

-j, --jumpyscrolling
    Przewija zawartość bufora o pół ekranu, zamiast o wiersz.

-k, --cutfromcursor
    Polecenie „Wytnij tekst” (zwykle ^K) wytnie od bieżącej pozycji kursora do końca wiersza, zamiast wycinać cały wiersz.

-l, --linenumbers
    Wyświetla numery wierszy po lewej stronie przestrzeni tekstowej (wiersz z zaczepieniem dodatkowo otrzyma oznaczenie w marginesie).

-m, --mouse
    Włącza obsługę myszy, jeśli jest dostępna dla danego systemu. Gdy jest włączona, można użyć kliknięć myszy do umieszczenia kursora, ustawienia zaznaczenia (podwójnym kliknięciem) i wykonywaniem skrótów. Mysz działa w X Window System oraz w konsoli, jeśli uruchomiony jest gpm. Tekst można wciąż zaznaczać przez przeciąganie z przytrzymanych klawiszem Shift.

-n, --noread
    Traktuje wszelkie nazwy podane w wierszu polecenia jako nowy plik. Pozwala to zapisywać nano do potoków nazwanych: program zacznie się z pustym buforem i zapisze do potoku, gdy użytkownik zapisze „plik”. W ten sposób, nano może służyć jako edytor w połączeniu np. z gpg — bez potrzeby uprzedniego zapisywania wrażliwych danych na dysku.

-o katalog, --operatingdir=katalog
    Zmienia na podany katalog, pozwalając na odczyt i zapis plików wyłącznie do danego katalogu i jego podkatalogów.

-p, --preserve
    Zachowuje sekwencje XOFF i XON (^S i ^Q), dzięki czemu są one przechwytywane przez terminal (zatrzymywanie i wznawianie wyjścia). Proszę zauważyć, że niniejsze ustawienie jest przesłaniane przez opcję -/ (--modernbindings).

-q, --indicator
    Wyświetla „pasek przewijania” po prawej stronie okna edycji. Pokazuje on pozycję widoku w buforze oraz to, jak dużo bufora widać w bieżącym widoku.

-r liczba, --fill=liczba
    Ustawia docelową szerokość do justowania i automatycznego twardego zawijania na liczbę kolumn. Jeśli wartość wynosi 0 lub mniej, zawijanie następuje na szerokości ekranu minus liczba kolumn, co pozwala na ustawienie elastycznego zawijania, gdy rozmiar ekranu ulega zmianie. Domyślną wartością jest -8.

-s "program [argument ...]", --speller="program [argument ...]"
    Używa podanego polecenia do sprawdzania i poprawy pisowni, zamiast wbudowanego mechanizmu sprawdzania, wywołującego hunspell(1) lub spell(1).

-t, --saveonexit
    Zapisuje zmieniony bufor bez pytania (przy wyjściu za pomocą ^X).

-u, --unix
    Zapisuje plik domyślnie w formacie uniksowym. Przesłania to domyślne zachowanie nano, polegające na zachowywaniu pliku w jego dotychczasowym formacie (opcja ta nie zadziała, jeśli podano również --noconvert).

-v, --view
    Jedynie przegląda plik, wyłączając edycję: tryb tylko do odczytu. Tryb ten pozwala również otwierać użytkownikowi inne pliki do przeglądania, chyba że podano także opcję --restricted.

-w, --nowrap
    Nie dokonuje twardego zawijania bieżącego wiersza, gdy stanie się zbyt długi. Jest to zachowanie domyślne (opcja jest przeciwieństwem -b (--breaklonglines) — zadziała ta z nich, która zostanie podana jako ostatnia).

-x, --nohelp
    Nie pokazuje dwóch wierszy z pomocą na dole ekranu.

-y, --afterends
    Kombinacje Ctrl+strzałka-w-prawo oraz Ctrl+Delete zatrzymają się na końcach słów, a nie na początkach.

-z, --listsyntaxes
    Wypisuje nazwy dostępnych składni i wychodzi.

-!, --magic
    Gdy nazwa pliku, ani jego pierwszy wiersz nie dają odpowiedniej wskazówki, spróbuje użyć libmagic, aby określić właściwą składnię.

-@, --colonparsing
    Jeśli nazwa pliku podana w wierszu polecenia kończy się dwukropkiem po którym następują cyfry i taka nazwa nie istnieje, to wycina część po dwukropku i interpretuje podane po nim cyfry jako numer wiersza. Jeśli przycięta w ten sposób nazwa pliku również nie istnieje, to powtarza ten proces i interpretuje uzyskane dwie liczby jako numer wiersza i kolumny. Jeśli dwukrotnie przycięta nazwa pliku również nie istnieje, całkowicie pomija przycinanie i przyjmuje pierwotną nazwę pliku bez zmian. Aby wyłączyć interpretowanie w ten sposób dwukropka dla jakiegoś pliku, należy podać +1 lub podobną konstrukcję przed daną nazwą pliku.

-%, --stateflags
    Używa prawego górnego narożnika ekranu do wyświetlania pewnych flag statusu: I — automatyczne wcięcia (od ang. indentation), M — gdy coś jest zaznaczone (mark), L — gdy włączone jest twarde zawijanie (przełamywanie długich wierszy; long), R — przy rejestrowaniu makra oraz S — gdy włączone jest miękkie zawijanie (soft). Gdy bufor zostanie zmodyfikowany, po nazwie pliku w środku paska tytułu dodawana jest gwiazdka (*).

-_, --minibar
    Ukrywa pasek tytułu, pokazując w zamian informacje o bieżącym buforze u dołu ekranu, w miejscu paska statusu. W tym „minipasku” nazwa pliku jest wyświetlana po lewej, może po niej wystąpić gwiazdka, jeśli bufor uległ modyfikacji. Po prawej widoczny jest numer bieżącego wiersza i kolumny, kod znaku pod kursorem (w formacie Unikodu: U+xxxx), te same flagi, jak wyświetlane przez --stateflags oraz procent ukazujący jak daleko w pliku znajduje się kursor (patrząc na wiersze). Gdy plik jest ładowany lub zapisywany, a także przy przełączaniu buforów, liczba wierszy w buforze jest wyświetlana po nazwie pliku. Liczba ta znika po wciśnięciu następnego klawisza, lub jest zastępowana licznikiem [i/n], gdy otwartych jest wiele buforów. Numery wiersza i kolumny oraz kod znaku są wyświetlane, gdy podano opcję --constantshow i mogą być przełączane kombinacją klawiszy M-C. Flagi statusu są wyświetlane tylko, gdy podano opcję --stateflags.

-0, --zero
    Ukrywa wszelkie elementy interfejsu (pasek tytułu, pasek statusu i wiersze z pomocą) i używa wszystkich wierszy terminala do pokazywania zawartości bufora. Pasek statusu pojawi się tylko przy ważnym komunikacie i zniknie 1,5 sekundy po wciśnięciu następnego klawisza. Paski tytułu i statusu można przełączyć kombinacją klawiszy M-Z, a wiersze za pomocą M-X.

-/, --modernbindings
    Używa podobnych skrótów klawiszowych, jak inne współczesne programy: ^X wycina, ^C kopiuje, ^V wkleja, ^Z cofa, ^Y ponawia, ^F wyszukuje wprzód, ^G wyszukuje następne, ^S zachowuje, ^O otwiera plik, ^Q wychodzi i (gdy pozwala na to terminal) ^H pokazuje pomoc. Ponadto ^A ustawia zaznaczenie, ^R zastępuje, ^D wyszukuje poprzednie, ^P pokazuje pozycję, ^T przechodzi do wiersza, ^W zapisuje plik, a ^E wykonuje polecenie. Niniejsza opcja przesłania opcję -p (--preserve).

PRZEŁĄCZNIKI
Wiele powyższych opcji można przełączać również w już uruchomionym nano. Przykładowo M-L przełącza twarde zawijanie długich wierszy (od ang. long), M-S przełącza miękkie zawijanie (soft), M-M przełącza mysz, M-I automatyczne wcinanie (indentation), a M-X wiersze z pomocą. Na końcu tekstu pomocy, wyświetlanego po wciśnięciu ^G, pokazana jest pełna lista przełączników.

Przełącznik M-X jest szczególny: działa we wszystkich menu, poza przeglądarką pomocy i sprawdzaniem składni. Wszystkie pozostałe przełączniki działają jedynie w głównym menu.

PLIKI
Gdy poda się --rcfile, nano odczytuje jedynie podany plik w celu ustawienia swoich opcji, składni i przypisań klawiszy. Bez tej opcji, nano czyta dwa pliki konfiguracyjne: najpierw systemowy nanorc (jeśli istnieje), a następnie nanorc użytkownika (jeśli istnieje), będący pierwszym z plików: ~/.nanorc lub $XDG_CONFIG_HOME/nano/nanorc lub ~/.config/nano/nanorc. W podręczniku nanorc(5) opisano możliwą zawartość tych plików.

Aby zapoznać się z dostępnymi definicjami kolorowania składni, proszę sprawdzić pliki /usr/share/nano/ i /usr/share/nano/extra/.

STATUS ZAKOŃCZENIA

0   The editor finished normally.

1   An invalid option or option argument was given.

2   The last open buffer was discarded (with ^O^Q or ^X^Q).

UWAGI
Wstrzymywanie jest domyślnie włączone, można je wyzwolić za pomocą ^T^Z (aby samo ^Z wstrzymywało nano, należy dodać bind ^Z suspend main do swojego pliku nanorc).

At a Yes-No prompt, ^Y can be used for "Yes", ^N for "No", and ^A for "All". (And when exiting, ^Q can be used for "Quit with error".) These unlisted bindings work in any locale.

W podręczniku systemowym nanorc(5) opisano przykłady kopiowania zaznaczonego tekstu z nano do schowka systemowego.

Jeśli w wierszu polecenia nie podano alternatywnego mechanizmu sprawdzającego pisownię, ani nie ma go w żadnym z plików nanorc, w poszukiwaniu takowego nano sprawdza zmienną środowiskową SPELL.

W niektórych przypadkach nano zrzuca bufor do pliku awaryjnego. Dzieje się tak przede wszystkich wtedy, gdy nano otrzyma sygnał SIGHUP lub SIGTERM albo gdy zabraknie mu pamięci. Jeśli bufor nie ma już nazwy, zostanie zapisany do pliku o nazwie nano.save, w przeciwnym przypadku bieżąca nazwa pliku otrzymuje przyrostek „.save”. Jeśli plik awaryjny o tej nazwie już istnieje w bieżącym katalogu, do bieżącej nazwy pliku zostanie dodany przyrostek „.save” z numerem (np. „.save.1”), aby uczynić nazwę unikalną. W trybie wielobuforowym, nano zapisuje wszystkie otwarte bufory do odpowiednich plików awaryjnych.

Pytania odnośnie korzystania z nano w jakichś szczególnych przypadkach, można wysyłać na adres help-nano@gnu.org.

USTERKI
Rejestrowanie i odtwarzanie makr klawiaturowych działa poprawnie tylko w emulatorze terminala, nie w konsoli Linuksa (VT), ponieważ ta ostatnia domyślnie nie rozróżnia pomiędzy zmodyfikowanymi i niezmodyfikowanymi klawiszami strzałek.

Proszę zgłaszać wszelkie inne dostrzeżone błędy programu za pomocą:
https://savannah.gnu.org/bugs/?group=nano.

Przy załamaniu się nano, zachowuje on wszelkie zmodyfikowane bufory do awaryjnych plików „.save”. Jeśli błąd da się odtworzyć i chce się uzyskać ślad, należy zdefiniować zmienną środowiskową NANO_NOCATCH.

STRONA INTERNETOWA
https://nano-editor.org/

ZOBACZ TAKŻE
nanorc(5)

/usr/share/doc/nano/ (lub odpowiednik w danym systemie)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.