NANO(1)

НАЗВА
nano - Nano's ANOther text editor (ще один текстовий редактор Nano), натхненний Pico

КОРОТКИЙ ОПИС
nano [параметри] [[+рядок[,позиція]] файл]...

nano [параметри] [[+[crCR]{/|?}рядок] файл]...

ЗАУВАЖЕННЯ
Починаючи з версії 9.0, усі рядки гортаються горизонтально разом (коли курсор наближається до краю) лише на необхідну величину, замість гортання на великий крок лише поточного рядка. Якщо ви надаєте перевагу старій поведінці, ви можете скористатися --solo у рядку команди або set solosidescroll у вашому файлі nanorc.

Також, починаючи з версії 9.0, натискання клавіш M-< та M-> було перепов'язано із діями `scrollleft` та `scrollright`. Якщо ви хочете, щоб ці натискання клавіш виконували те саме, що й до версії 9.0, додайте ці два рядки у кінець вашого файла nanorc:

    bind M-< prevbuf main
    bind M-> nextbuf main

Починаючи з версії 8.0, щоб бути зручнішим для новачків, ^F починає пошук вперед, ^B починає пошук назад, M-F шукає наступне входження вперед, а M-B шукає наступне входження назад. Якщо ви хочете, щоб ці натискання клавіш виконували ті самі завдання, що і до версії 8.0, додайте такі чотири рядки в кінці вашого файла nanorc:

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

ОПИС
nano невеличкий і дружній текстовий редактор. Він копіює вигляд і поведінку Pico, але є вільним програмним забезпеченням із деякими можливостями, які не реалізовано у Pico, зокрема, такими: відкриття декількох файлів одночасно, гортання на рядок, скасовування та повторення дій, розфарбовування синтаксичних конструкцій, нумерування рядків м'яке перенесення надто довгих рядків.

При визначенні назви файла у рядку команди можна перевести у певний рядок додаванням номера рядка зі знаком плюс (+) перед назвою файла, і навіть до певної позиції додаванням його номера з комою. (Від'ємні числа буде відлічено від кінця файла або кінця рядка.)

Курсор можна розташувати на першому або останньому входженні до тексту вказаного рядка, якщо рядок задано після +/ або +? до назви файла. Відповідність рядка може бути встановлено з врахуванням регістру або шляхом встановлення відповідності формальному виразу, якщо вказати c і/або r після символу +. Ці режими пошуку може бути явним чином вимкнено використанням варіанта із верхнім регістром відповідних літер, C і/або R. Якщо рядок містить пробіли, його слід взяти у лапки. Приклад: щоб відкрити файл на першому входженні слова «Foo», слід віддати таку команду:

    nano +c/Foo файл

Особливий випадок: якщо замість назви файла вказати дефіс (-), nano читатиме дані зі стандартного джерела вхідних даних.

РЕДАГУВАННЯ
Дії з введення тексту та пересування файлом є доволі очевидними: введення літер і використання звичайних клавіш пересування курсора. Команди віддають за допомогою клавіш Control (^) та Alt або Meta (M-). Введення ^K вилучає поточний рядок і переносить його до буфера вирізання. Послідовне натискання комбінації ^K призведе до перенесення усіх вилучених рядків разом до буфера вирізання. Будь-які пересування курсора або виконання будь-якої іншої команди призведе до того, що наступна комбінація ^K перезапише вміст буфера вирізання. Комбінація ^U вставляє поточний вміст буфера вирізання у поточну позицію курсора.

Якщо потрібно вирізати або скопіювати точніший фрагмент тексту, ви можете позначити його початок натисканням комбінації клавіш ^6, пересунути курсор на його завершення (позначений текст буде підсвічено), а потім скористатися комбінацією клавіш ^K для його вирізання або M-6 для копіювання до буфера вирізання. Ви також можете зберегти позначений текст до файла за допомогою натискання комбінації клавіш ^O або перевірити правопис у фрагменті за допомогою натискання комбінації клавіш ^T^T.

У деяких терміналах текст можна позначити також утриманням натиснутою клавіші Shift із наступним позначенням фрагмента натисканням клавіші зі стрілками. Одночасне натискання і утримання клавіш Ctrl або Alt також збільшить швидкість пересування текстом. Будь-яке пересування курсора без утримання натиснутою клавіші Shift призведе до скасування позначення тексту.

До буфера можна вставити будь-який коректний символ Unicode натисканням комбінації клавіш M-V із наступним введенням шістнадцяткових цифр (із завершенням натисканням клавіші <Пробіл> або <Enter>, якщо цифр менше за шість). Буквальний код керування (окрім ^J) можна вставити комбінацією M-V із наступним введенням відповідної літери комбінації.

Два рядки у нижній частині екрана призначено для показу деяких важливих команд; у вбудованій довідці (^G) наведено список усіх доступних команд. Типові прив'язк клавіш можна змінити за допомогою файла nanorc -- див. nanorc(5).

ПАРАМЕТРИ

-A, --smarthome
    Зробити поведінку у відповідь на натискання клавіші Home кмітливішою. Якщо Home натиснуто десь, окрім на самому початку непробільних символів у рядку, курсор перестрибне на цей початок (вперед або назад). Якщо курсор вже перебуває на цій позиції, він перестрибне на справжній початок рядка.

-B, --backup
    При збереженні файла, створити резервну копію його попередньої версії з використанням поточної назви файла із додатковим суфіксом—тильдою (~).

-C каталог, --backupdir=каталог
    Створювати і зберігати не лише одну резервну копію файла, але цілу послідовність нумерованих резервних копій, коли ви зберігаєте файл -- якщо увімкнено резервне копіювання (-B). Пронумеровані файли буде збережено у вказаному каталозі каталог.

-D, --boldtext
    У інтерфейсі використовувати напівжирний шрифт замість реверсивного відеорежиму. Цей режим можна перевизначити встановленням параметрів titlecolor, statuscolor, promptcolor, minicolor, keycolor, numbercolor і/або selectedcolor у вашому файлі nanorc. Див. nanorc(5).

-E, --tabstospaces
    Перетворювати усі введенні символи табуляції на пробіли. Число вказує кількість пробілів, на які слід замінити одну табуляцію. (Зауваження: вставлені табуляції перетворено не буде.)

-F, --multibuffer
    Типово читати файл до нового буфера.

-G, --locking
    Використовувати блокування файлів у стилі vim при редагуванні файлів.

-H, --historylog
    Зберігати останні сто рядків пошуку і заміни, а також виконаних команд, щоб можна було без проблеми користуватися ними у наступних сеансах.

-I, --ignorercfiles
    Не використовувати ні загальносистемний nanorc, ні nanorc користувача.

-J число, --guidestripe=число
    Малювати вертикальну смужку на заданій позиції у рядку, щоб простіше було визначати ширину тексту. (Колір смужки можна змінити за допомогою параметра set stripecolor у вашому файлі nanorc.)

-K, --rawsequences
    Обробляти керівні послідовності безпосередньо, а не використовувати ncurses для їхньої обробки. (Якщо вам потрібен цей параметр для того, щоб нормально працювали деякі клавіші, це означає, що опис термінала у terminfo, який використано, не повністю відповідає поведінці вашого термінала. Таке може трапитися, наприклад, якщо ви використовуєте ssh на комп'ютері з BSD.) Використання цього параметра вимикає підтримку роботи з мишею у nano.

-L, --nonewlines
    Не додавати символ нового рядка автоматично, якщо текст не завершується ним. (Це надасть вам змогу зберігати текстові файли, у яких порушено стандарт POSIX.)

-M, --trimblanks
    Вирізати кінцеві пробіли з перенесеного рядка, якщо відбулося автоматичне жорстке перенесення рядка або якщо текст вирівняно за шириною.

-N, --noconvert
    Вимкнути автоматичне перетворення файлів з формату DOS/Mac.

-O, --bookstyle
    Якщо текст вирівняно за шириною, вважати будь-який рядок, який починається з пробілу, початковим рядком абзацу (якщо не увімкнено автоматичне встановлення відступів).

-P, --positionlog
    Для останніх 200 файлів записувати до журналу останню позицію курсора та розташовувати курсор у цьому місці, коли ви знову відкриєте відповідний файл. Також програма зберігатиме та відновлюватиме розташування усіх прив'язок.

-Q "формальний_вираз", --quotestr="формальний_вираз"
    Встановити формальний вираз для визначення частини рядка у лапках. Типовим значенням є "^([ \t]*([!#%:;>|}]|//))+". (Зауважте, що \t є замінником табуляції.) Це уможливлює перебудову блоків цитованого тексту при створенні повідомлень електронної пошти і повторного перенесення у блоках рядкових коментарів при написанні програмного коду.

-R, --restricted
    Обмежений режим: не читати дані з будь-якого файла, який не вказано у рядку команди, і не записувати дані до нього. Це означає таке: не читати і не записувати файлів журналу; заборонити призупинення роботи; не дозволяти перевіряти правопис; не дозволяти дописування до файла у кінці та на початку; не дозволяти зберігати файл із іншою назвою, якщо у файла вже була назва; і не створювати файлів резервних копій. Обмежений режим можна задіяти викликом nano із будь-якою назвою, що починається з «r» (наприклад «rnano»).

-S, --softwrap
    Показувати рядки, довжина яких перевищує ширину екрана, у декількох рядках. (Ви можете наказати програмі виконувати це завдання м'яким перенесенням, а не грубим розриванням на краю екрана, за допомогою додаткового параметра --atblanks.)

-T число, --tabsize=число
    Встановити розмір (ширину) табуляції у число позицій. Значення число має бути додатним. Типовим значенням є 8.

-U, --quickblank
    Зробити так, щоб повідомлення на смужці стану зникали після 1 натискання клавіші, а не після 20. Зауважте, що параметр -c (--constantshow) має пріоритет над цим параметром. Якщо задіяно параметр --minibar або --zero, --quickblank призводить до зникнення повідомлення за 0,8 секунд замість типових 1,5 секунди.

-V, --version
    Вивести дані щодо версії і завершити роботу.

-W, --wordbounds
    Визначати межі слова в інший спосіб, вважаючи символи пунктуації частиною слова.

-X "символи", --wordchars="символи"
    Вказати, які інші символи (окрім звичайних літер і цифр) слід вважати частиною слова. Якщо використано цей параметр, не варто використовувати параметр -W (--wordbounds).

-Y назва, --syntax=назва
    Вказати назву режиму підсвічування синтаксичних конструкцій, яким слід скористатися. Режими визначено у файлах nanorc.

-Z, --zap
    Вилучати позначений фрагмент (а не один символ, без впливу на буфер вирізання) у відповідь на натискання немодифікованих Backspace або Delete.

-a, --atblanks
    При виконанні м'якого перенесення рядків, переносити рядки на пробілі, а не точно на краю екрана.

-b, --breaklonglines
    Автоматично жорстко переносити поточний рядок автоматично, якщо він є надто довгим, тобто коли він стає довшим за значення, яке вказано за допомогою -r (--fill). Типовим значенням для -r є ширина термінала мінус вісім. (Цей параметр є протилежним до -w (--nowrap) -- пріоритет матиме той з них, який вказано останнім.)

-c, --constantshow
    Неперервно показувати позицію курсора на смужці стану. Зауважте, що це призведе до перевизначення параметра -U (--quickblank).

-d, --rebinddelete
    Обробляти Delete і Backspace в інший спосіб, щоб і Backspace, і Delete працювали належним чином. Цим параметром варто користуватися, лише якщо або Backspace працює як Delete, або Delete працює як Backspace.

-e, --emptyline
    Не використовувати рядок одразу під смужкою заголовка, лишаючи його повністю порожнім.

-f файл, --rcfile=файл
    Прочитати лише вказаний файл для встановлення параметрів роботи nano, замість читання загальносистемного файла та файла nanorc користувача.

-g, --showcursor
    Зробити курсор видимим у навігаторі файлами (розташувати його на підсвіченому пункті) та у засобі перегляду довідки. Корисно для користувачів азбуки Брайля та тих, хто недобачає.

-h, --help
    Вивести резюме доступних параметрів командного рядка і завершити роботу.

-i, --autoindent
    Автоматично встановлювати відступ у новоствореному рядку, з тієї самої кількості символів табуляції і/або пробілів, що і у попередньому рядку (або у наступному рядку, якщо попередній рядок був початком абзацу).

-j, --jumpyscrolling
    Гортати вміст буфера порціями у пів екрана, замість гортання по одному рядку.

-k, --cutfromcursor
    Зробити так, щоб команда «Вирізати текст» (зазвичай, ^K) вирізала текст від поточної позиції до кінця рядка, замість вирізання усього рядка.

-l, --linenumbers
    Показувати номери рядків у лівій частині області тексту. (Будь-який рядок з прив'язкою додатково матиме позначку на полях.)

-m, --mouse
    Увімкнути підтримку миші, якщо таку передбачено у вашій системі. Якщо увімкнено, за допомогою клацання кнопками миші можна буде змінювати розташування курсора, встановлювати позначку (подвійним клацанням) та користуватися комбінаціями-скороченнями з клавішами клавіатури. Миша працюватиме під керуванням X Window System та у консолі, якщо запущено gpm. Фрагмент тексту можна буде позначати перетягуванням із одночасним утриманням натиснутою клавіші Shift.

-n, --noread
    Вважати будь-яку назву, яку вказано у рядку команди, назвою нового файла. Це уможливлює для nano запис до іменованих каналів: програма розпочинає роботу із порожнім буфером і записує дані до каналу, коли користувач зберігає «файл». У цей спосіб nano може бути використано як редактор у поєднанні із, наприклад, gpg без запису конфіденційних даних спершу на диск.

-o каталог, --operatingdir=каталог
    Перейти до вказаного каталогу і дозволити читання і записування файлів лише у цьому каталозі та його підкаталогах.

-p, --preserve
    Зберігати послідовності XON і XOFF (^Q і ^S), щоб їх було перехоплено терміналом. Зауважте, що параметр -/ (--modernbindings) має вищий пріоритет за цей.

-q, --indicator
    Показувати «смужку гортання» у правій частині вікна редагування. На смужці буде показано позицію поля перегляду у буфері і частку буфера, яку зайнято полем перегляду.

-r число, --fill=число
    Встановити ширину для вирівнювання за шириною та автоматичного жорсткого перенесення рядків на вказаній позиції число. Якщо число дорівнюватиме нулеві або буде меншим за нуль, перенесення буде виконано на позиції, яка дорівнює різниці між шириною екрана і числом, що надає змогу варіювати позицію перенесення із шириною екрана, якщо ширину екрана буде змінено. Типовим значенням є -8.

-s "програма [аргумент ...]", --speller="програма [аргумент ...]"
    Скористатися цією командою для виконання перевірки і виправлення правопису, замість використання вбудованого засобу виправлення, який викликає hunspell(1) або spell(1).

-t, --saveonexit
    Зберегти буфер без запиту щодо дії (при виході з використанням комбінації ^X).

-u, --unix
    Типово зберігати файл у форматі Unix. Це перевизначає типову поведінку nano, яка полягає у зберіганні файла у форматі, який він мав до редагування. (Цей параметр ні на що не впливає, якщо ви також скористаєтеся --noconvert.)

-v, --view
    Просто переглянути файл і заборонити редагування: режим лише читання. Цей режим дозволяє користувачу відкривати файли для перегляду, без застосування режиму --restricted.

-w, --nowrap
    Не переносити жорстко поточний рядок автоматично, якщо він є надто довгим. Це типова поведінка (Цей параметр є протилежним до -b (--breaklonglines) -- пріоритет матиме той з них, який вказано останнім.)

-x, --nohelp
    Не показувати два рядки довідки у нижній частині екрана.

-y, --afterends
    Зробити так, щоб комбінації Ctrl+Стрілка праворуч і Ctrl+Delete зупиняли курсор на кінцях слів, а не на початках.

-z, --listsyntaxes
    Вивести резюме доступних параметрів командного рядка і завершити роботу.

-!, --magic
    Якщо ні назва файла, ні його перший рядок не дають це визначити, спробувати скористатися libmagic для визначення відповідного синтаксису.

-@, --colonparsing
    Якщо назва файла, яку вказано у командному рядку, закінчується двокрапкою та цифрами, а файла з такою назвою не існує, буде обрізано двокрапку та цифри і оброблено цифри як номер рядка. Якщо файла з обрізаною назвою також не існує, процедуру буде повторено, а отримані два числа буде використано як номер рядка та позицію у ньому. Але якщо файла з двічі обрізаною назвою також не існує, обрізання буде відкинуто і буде використано початкову назву файла як є. Щоб вимкнути обробку двокрапки для певного файла, скористайтеся +1 або чимось подібним перед назвою відповідного файла.

-%, --stateflags
    Використати верхній правий кут екрана для показу деяких прапорців стану: I, якщо увімкнено автовідступ, M, якщо увімкнено позначку, L, якщо увімкнено жорстке перенесення (розбиття довгих рядків), R, якщо ведеться запис макроса, та S, якщо увімкнено режим м'якого перенесення рядків. Якщо до буфера внесено зміни, після назви файла у центрі смужки заголовка буде показано зірочку (*).

-_, --minibar
    Придушити виведення смужки заголовка і, замість неї, показати відомості щодо поточного буфера у нижній частині екрана, за рахунок місця для смужки стану. На цій «мініпанелі» назву файла буде показано ліворуч, після неї буде показано зірочку, якщо до буфера було внесено зміни. Праворуч буде показано номери поточного рядка і позиції у ньому, код символу під курсором (у форматі Unicode: U+xxxx), ті самі прапорці, що і показані за допомогою --stateflags, та частку вмісту файла, яка відповідає поточній позиції курсора у ньому (за рядками). При завантаженні або збереженні файла, а також при перемиканні між буферами, після назви файла буде показано кількість рядків у буфері. Цю кількість буде витерто після натискання будь-якої клавіш або замінено на лічильник [i/n], якщо відкрито декілька буферів. Дані щодо позицій у рядку та коду символів, буде показано, лише якщо використано параметр --constantshow. Їхній показ можна увімкнути чи вимкнути за допомогою комбінації M-C. Прапорці стану буде показано, лише якщо використано параметр --stateflags.

-0, --zero
    Приховати усі елементи інтерфейсу (смужку заголовка, смужку стану та рядки довідки) і використати усі рядки термінала для показу вмісту буфера. Смужку стану буде показано, лише якщо там є змістовне повідомлення, яке зникне за 1,5 секунди або після натискання будь-якої клавіші. За допомогою натискання комбінації клавіш M-Z можна увімкнути або вимкнути показ смужки заголовка і смужки стану. За допомогою M-X можна увімкнути або вимкнути показ рядків довідки.

-1, --solosidescroll
    Коли курсор наближається до правого краю вікна редагування, гортати лише поточний рядок убік на значну відстань, замість гортання усіх видимих рядків убік лише на відстань, необхідну для утримання курсора в полі зору. Таке плавне гортання всього вікна вбік є новою типовою поведінкою. Різке гортання убік одного рядка, яке вмикається цим параметром, було старою поведінкою — єдиною поведінкою, яку було передбачено у nano.

-/, --modernbindings
    Використовувати клавіатурні скорочення ідентичні до тих, які використовують у більшості сучасних програм: ^X вирізає, ^C копіює, ^V вставляє, ^Z скасовує, ^Y повторює, ^F шукає вперед, ^G шукає наступне, ^S зберігає, ^O відкриває файл, ^Q завершує роботу, а (якщо це дозволяє термінал) ^H показує довідку. Крім того, ^A встановлює позначку, ^b виконує пошук у напрямку до початку, ^D шукає попереднє, ^R робить заміни, ^P показує позицію, ^T переносить до певного рядка, ^W переписує файл, а ^E виконує команду. Зауважте, що цей параметр має вищий пріоритет за параметр -p (--preserve).

ПЕРЕМИКАННЯ
Деякі зі згаданих вище параметрів можна увімкнути або вимкнути уже у запущеному nano. Наприклад, натискання M-L вмикає або вимикає жорстке перенесення довгих рядків, M-S вмикає або вимикає м'яке перенесення рядків, M-N вмикає або вимикає показ номерів рядків, M-M вмикає або вимикає використання миші, M-I вмикає або вимикає автовідступи, а M-X вмикає або вимикає рядки довідки. Із повним списком можна ознайомитися у кінці довідкового тексту, який буде показано у відповідь на натискання комбінації клавіш ^G.

Перемикач M-X є особливим: він працює в усіх меню, окрім засобу перегляду довідки та упорядкування коду. Усі інші перемикачі працюють лише у головному меню.

ФАЙЛИ
Якщо використано параметр --rcfile, nano прочитає лише вказаний файл для встановлення параметрів роботи та синтаксичних конструкцій, а також клавіатурних скорочень. Без цього параметра nano виконає читання двох файлів налаштувань: спочатку загальносистемного nanorc (якщо такий існує), а потім nanorc користувача (якщо він існує), ~/.nanorc, $XDG_CONFIG_HOME/nano/nanorc або ~/.config/nano/nanorc, того з цих файлів, який буде виявлено першим. Див. nanorc(5), щоб дізнатися більше про можливий вміст таких файлів.

Див. /usr/share/nano/ та /usr/share/nano/extra/, щоб ознайомитися зі списком доступних визначень розфарбовування синтаксичних конструкцій.

СТАН ВИХОДУ

0   Роботу редактора завершено у штатному режимі.

1   Надано некоректний параметр або аргумент параметра.

2   Останній відкритий буфер було відкинуто (з ^O^Q або ^X^Q).

ПРИМІТКИ
Призупинення типово увімкнено. Доступ до нього можна отримати за допомогою ^T^Z. (Якщо ви хочете, щоб роботу nano призупиняло звичайне ^Z, додайте bind ^Z suspend main до вашого nanorc.)

У режимі запиту «так-ні» ^Y можна скористатися замість «Yes» («так»), ^N замість «No» («ні»), а ^A замість «All» («усі»). (І при виході можна використати ^Q для «Вийти з повідомленням про помилку».) Ці прив'язки поза списком працюють для усіх локалей.

Якщо ви хочете копіювати позначений текст з nano до буфера обміну даними системи, ознайомтеся з одним з прикладів на сторінці підручника з nanorc(5).

Якщо альтернативного засобу перевірки правопису не вказано у рядку команди або одному з файлів nanorc, nano скористається вмістом змінної середовища SPELL для визначення цього засобу.

У деяких випадках nano робитиме спробу створити дамп буфера до аварійного файла. Таке трапляється, в основному, якщо nano отримує сигнал SIGHUP або SIGTERM чи вичерпує доступну пам'ять. Програма записує буфер до файла із назвою nano.save, якщо буфер ще не має назви, або для утворення назви файла додає суфікс «.save» до поточної назви файла. Якщо аварійний файл із також назвою вже існує у поточному каталозі, до назви буде додано «.save» і номер (наприклад «.save.1») для того, щоб зробити назву файла унікальною. У режимі декількох буферів, nano записуватиме усі відкриті буфери до відповідних аварійних файлів.

Якщо у вас виникають питання щодо використання nano у певних специфічних ситуаціях, ви можете поставити їх у help-nano@gnu.org.

ВАДИ
Запис і відтворення клавіатурних макросів належним чином працює лише у емуляторі термінала, а не у консолі Linux (VT), оскільки останній типово не розрізняє модифіковані і немодифіковані клавіші зі стрілками.

Будь ласка, повідомляйте про усі вади, які вам трапилися, ось тут:
https://savannah.gnu.org/bugs/?group=nano.

Якщо nano завершує роботу в аварійному режимі, програма зберігає усі змінені буфери до аварійних файлів .save. Якщо ви можете відтворити аварійне завершення роботи і хочете отримати зворотне трасування, визначте змінну середовища NANO_NOCATCH.

ДОМАШНЯ СТОРІНКА
https://nano-editor.org/

ДИВ. ТАКОЖ
nanorc(5)

/usr/share/doc/nano/ (або еквівалент у вашій системі)

ПЕРЕКЛАД
Український переклад цієї сторінки посібника виконано Yuri Chornoivan <yurchor@ukr.net>

Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html). НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.

Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.