NANORC(5)

НАЗВА
nanorc - файл налаштувань GNU nano

ОПИС
У файлах nanorc містяться типові параметри nano, малого і дружнього до користувача текстового редактора. Під час запуску, якщо не задано --rcfile, nano виконуватиме читання двох файлів: спочатку загальносистемних параметрів з /etc/nanorc (точний шлях може бути іншим у вашій системі), а потім специфічних для користувача параметрів, або з ~/.nanorc, або з $XDG_CONFIG_HOME/nano/nanorc, або з ~/.config/nano/nanorc, з того, який буде виявлено першим. Якщо використано параметр --rcfile, nano виконає читання лише з вказаного файла параметрів.

ЗАУВАЖЕННЯ
Починаючи з версії 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

ПАРАМЕТРИ
У файлі налаштувань можна вказати послідовність команд set і unset, якими можна скористатися для налаштовування запуску nano без використання параметрів командного рядка. Крім того, передбачено декілька команд для визначення підсвічування синтаксичних конструкцій та зміни прив'язки клавіш -- ці команди описано у двох окремих розділах. nano читатиме по одній команді на рядок. Усі команди і ключові слова слід вказувати малими літерами.

Параметри у файлах nanorc мають вищий пріоритет за типові параметри nano, а параметри рядка команди мають вищий пріоритет за параметри у nanorc. Крім того, параметри, які не приймають аргументів, типово вважаються невизначеними. Отже, використання команди unset потрібне лише для перевизначення параметра у загальносистемному файлі nanorc у вашому власному файлі nanorc. Визначення параметрів, які приймають аргументи, не можна скасувати.

Лапки у параметрах символи, які описано нижче, не потрібно екранувати. Останні подвійні лапки у рядку вважатимуться завершальними лапками.

Підтримувані команди і аргументи:

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

set allow_insecure_backup
    При резервному копіюванні файлів дозволити успішне завершення резервного копіювання, навіть якщо права доступу не може бути встановлено або скинуто через обмеження операційної системи. НЕ варто користуватися цим параметром, якщо ви не певні щодо того, чи він вам потрібен.

set atblanks
    Якщо увімкнено м'яке перенесення рядків, переносити рядки на пробільних символах (пробілах або табуляціях), а не точно на краю екрана.

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

set backup
    При збереженні файла створювати резервну копію, назва якої утворюється шляхом додавання тильди (~) до назви файла.

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

set boldtext
    Використовувати напівжирний шрифт замість інверсії кольорів на смужці заголовка, смужці стану, смужці запиту, мініпанелі, записах комбінацій клавіш, міток функцій, номерах рядків та позначеному тексті. Може бути скасовано встановленням значень параметрів titlecolor, statuscolor, promptcolor, minicolor, keycolor, numbercolor і/або selectedcolor.

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

set brackets "символи"
    Встановити символи, які вважатимуться завершальними дужками при вирівнюванні абзаців. Сюди не можна включати символи-пробіли. Можна використовувати лише завершальну пунктуацію (див. set punct), після якої можуть перебувати вказані завершальні дужки. Може завершувати речення. Типовим значенням є «"')>]}».

set breaklonglines
    Автоматично жорстко переносити поточний рядок, якщо він є надто довгим — тобто: коли він стає довшим за значення, задане за допомогою set fill (типовим значенням якого є ширина термінала мінус вісім).

set casesensitive
    Типово, виконувати пошук із врахуванням регістру символів.

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

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

set cutfromcursor
    Використовувати типово вирізання від курсора до кінця рядка, замість вирізання усього рядка.

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

set errorcolor [bold,][italic,]колір_тексту,колір_тла
    Використовувати вказану комбінацію кольорів для смужки стану при показі повідомлення про помилку. Типовим значенням є bold,white,red. Див. set titlecolor, щоб ознайомитися із коректними назвами кольорів.

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

set functioncolor [bold,][italic,]колір_тексту,колір_тла
    Використовувати цю комбінацію кольорів для короткого опису функціональних можливостей у двох рядках довідки у нижній частині екрана. Див. set titlecolor, щоб дізнатися більше.

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

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

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

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

set keycolor [bold,][italic,]колір_тексту,колір_тла
    Використовувати цю комбінацію кольорів для комбінацій клавіш скорочень у двох рядках довідки у нижній частині екрана. Див. set titlecolor, щоб дізнатися більше.

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

set locking
    Увімкнути файли блокування у стилі vim при редагуванні файлів.

set magic
    Якщо ні назва файла, ні його перший рядок не дають це визначити, спробувати скористатися libmagic для визначення відповідного синтаксису. (Виклик libmagic може бути відносно витратним щодо часу. Через це, його виклик типово не виконується.)

set matchbrackets "символи"
    Вказати початкову і завершальну дужки, які може бути знайдено засобом пошуку дужок. У списку не повинно бути пробільних символів. Набір початкових дужок має передувати набору завершальних. Набори має бути вказано в одному порядку. Типовим значенням є «(<[{)>]}».

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

set minicolor [bold,][italic,]колір_тексту,колір_тла
    Використати вказану комбінацію кольорів для мініпанелі. (Якщо цей параметр не вказано, буде використано кольори смужки заголовка.) Див. set titlecolor, щоб дізнатися більше.

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

set multibuffer
    При читанні файла за допомогою ^R типово вставляти його до нового буфера.

set noconvert
    Не перетворювати файли з формату DOS/Mac.

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

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

set nowrap
    Застарілий параметр, оскільки його використання стало типовою поведінкою. Якщо потрібно, скористайтеся замість нього unset breaklonglines.

set numbercolor [bold,][italic,]колір_тексту,колір_тла
    Використовувати цю комбінацію кольорів для номерів рядків. Див. set titlecolor, щоб дізнатися більше.

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

set positionlog
    Зберігати позицію курсора та прив'язки між сеансами редагування. Програма пам'ятатиме позиції для 200 останніх редагованих файлів.

set preserve
    Зберігати послідовності XOFF і XON (^S і ^Q), щоб їх було перехоплено терміналом (припинення і поновлення виведення даних).

set promptcolor [bold,][italic,]колір_тексту,колір_тла
    Використати вказану комбінацію кольорів для панелі запитів. (Якщо цей параметр не вказано, буде використано кольори смужки заголовка.) Див. set titlecolor, щоб дізнатися більше.

set punct "символи"
    Встановити символи, які вважатимуться завершальною пунктуацією при вирівнюванні абзаців. Сюди не можна включати символи-пробіли. Можна використовувати лише вказані завершальні символи пунктуації, за якими може бути вказано завершальні дужки (див. set brackets). Може завершувати речення. Типовим значенням є «!.?».

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

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

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

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

set regexp
    Типово, виконувати пошук за формальними виразами. Формальні виразу у nano належать до розширеного типу (ERE).

set saveonexit
    Зберегти змінений буфер автоматично при виході (^X); без запиту щодо дії.

set scrollercolor колір_тексту,колір_тла
    Використовувати цю комбінацію кольорів для альтернативної «смужки гортання» індикаторів. Див. set titlecolor, щоб дізнатися більше.

set selectedcolor [bold,][italic,]колір_тексту,колір_тла
    Використовувати цю комбінацію кольорів для позначеного тексту. Див. set titlecolor, щоб дізнатися більше.

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

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

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

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

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

set spotlightcolor [bold,][italic,]колір_тексту,колір_тла
    Використовувати вказану комбінацію кольорів для підсвічування відповідника пошуку. Типовим значенням є black, lightyellow. Див. set titlecolor, щоб ознайомитися із коректними назвами кольорів.

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

set statuscolor [bold,][italic,]колір_тексту,колір_тла
    Використовувати цю комбінацію кольорів для смужки стану. Див. set titlecolor, щоб дізнатися більше.

set stripecolor [bold,][italic,]колір_тексту,колір_тла
    Використовувати цю комбінацію кольорів для вертикальної напрямної смужки. Див. set titlecolor, щоб дізнатися більше.

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

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

set titlecolor [bold,][italic,]колір_тексту,колір_тла
    Використати вказану комбінацію кольорів для смужки заголовка. Коректними назвами для кольорів тексту і тла є такі: red, green, blue, magenta, yellow, cyan, white і black. До кожної з цих восьми назв можна дописати слово-префікс light, щоб отримати яскравішу версію відповідного кольору. Словом grey або gray можна скористатися як синонімом lightblack. У консолі Linux light не впливатиме на колір тла. У емуляторах термінала, де передбачено принаймні 256 кольорів, іншими коректними (але без префіксів) назвами кольорів є такі: pink, purple, mauve, lagoon, mint, lime, peach, orange, latte, rosy, beet, plum, sea, sky, slate, teal, sage, brown, ocher, sand, tawny, brick, crimson та normal -- де normal означає типовий колір тексту або тла. У таких емуляторах термінала колір також можна вказати у форматі трицифрового шістнадцяткового числа із префіксом #. Цифри також числа відповідають величинам червоного, зеленого та синього компонентів, відповідно. Визначення таких кольорів наказує nano вибрати з доступної палітри колір, який є найближчим до вказаних значень. Можна не вказувати або «колір_тексту», або «,колір_тла», а перед парою значень може бути вказано bold і/або italic (відокремлені комами) для отримання напівжирного і/або курсивного тексту, якщо у вашому терміналі передбачено такі можливості.

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

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

set whitespace "символи"
    Встановити два символи, які вказуватимуть на наявність табуляцій і пробілів. Це мають бути однопозиційні символи. Типовою парою для локалі UTF-8 є «»⋅», а для інших локалей — «>.».

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

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

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

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

ПІДСВІЧУВАННЯ СИНТАКСИЧНИХ КОНСТРУКЦІЙ
Розфарбовування різних синтаксичних елементів файла виконується за допомогою формальних виразів (див. команду color нижче). Наслідком цього є певна недосконалість, оскільки формальні вирази є недостатньо потужними для повної обробки файла. Тим не менше, формальні вирази можуть бути досить корисними і простими у написанні, тому вони досить добре пасують до невеличкого редактора, яким є nano.

Усі формальні вирази у nano є розширеними формальними виразами POSIX. Це означає, що символи ., ?, *, +, ^, $ та деякі інші символи вважаються особливими. Крапка, ., відповідає будь-якому одинарному символу, ? означає, що попередній запис є необов'язковим, * означає, що попередній запис може зустрічатися нуль або більше разів, + означає, що попередній запис може зустрічатися один або декілька разів, ^ відповідає початку рядка, а $ — кінець, \< означає початок слова, а \> — його кінець, а \s відповідає пробілу. Це також означає, що пошук вперед і пошук назад є неможливими. Повний опис можна знайти на сторінці підручника GNU grep: man grep.

Кожний формальний вираз у файлі nanorc має бути взято у подвійні лапки (""). В одному рядку може бути вказано декілька формальних виразів, які слід відокремлювати пробілами. Це означає, що у формальному виразі не може міститися подвійних лапок з наступним пробілом. Якщо вам потрібна така комбінація у формальному виразі, або подвійні лапки, або пробіл слід взяти у квадратні дужки ([]).

Для кожного типу файлів можна визначити окремий синтаксис за допомогою таких команд:

syntax назва ["формальний_вираз_файла" ...]
    Визначення синтаксису слід розпочинати із цієї назви. Усі наступні записи color та інші такі команди буде додано до цього синтаксису, аж доки під час обробки не буде зустрінуто нову команду syntax.

    Після запуску nano цей синтаксис буде автоматично активовано (для відповідного буфера), якщо абсолютна назва файла відповідає розширеному формальному виразу формальний_вираз_файла. Крім того, синтаксис може бути явно активовано (для усіх буферів) використанням параметра командного рядка -Y або --syntax з наступним визначенням назви.

    Синтаксис default є особливим: у ньому не використовується формальний_вираз_файла, і він застосовується до файлів, назва яких не відповідає жодному формальному виразу синтаксису. Синтаксис none зарезервовано; його використання у рядку команди має ті самі наслідки, що і вимикання використання будь-якого синтаксису.

header "формальний_вираз" ...
    Якщо виразу формальний_вираз_файла не відповідатиме жоден з визначених синтаксисів, виконати порівняння цього формального_виразу (або формальних виразів) із першим рядком поточного файла для визначення того, чи слід використовувати цей синтаксис для нього.

magic "формальний_вираз" ...
    якщо не буде встановлено відповідності виразу формальний_вираз_файла і жодному формальному виразу header, виконати порівняння з цим формальним виразом (або формальними виразами) результатів запиту до бази даних magic щодо поточного файла для визначення того, чи слід використовувати для нього такий синтаксис. (Ці запити працюють, лише якщо у системі справді встановлено libmagic і вказано --magic або set magic.)

formatter програма [аргумент ...]
    Запустити вказану програму для повного набору даних поточного буфера.

linter програма [аргумент ...]
    Скористатися вказаною програмою для виконання перевірки синтаксису у поточному буфері.

comment "рядок"
    Скористатися вказаним рядком для коментування або зняття позначки коментаря у рядках. Якщо у рядку міститься вертикальна смужка або символ каналу (|), це означає коментарі у стилі дужок, наприклад, «/*|*/» для файлів CSS. Символи перед символом каналу буде додано на початку, а символи після символу каналу буде дописано наприкінці рядка. Якщо символу каналу немає, на початку рядка буде дописано увесь рядок; наприклад, для файлів мовою Python буде дописано «#». Якщо буде вказано порожній рядок між подвійними лапками, можливість коментування або зняття позначки коментаря буде вимкнено; наприклад, "" для JSON. Типовим значенням є «#».

tabgives "рядок"
    Зробити так, щоб натискання клавіші <Tab> призводило до введення вказаного рядка. Корисно для мов, подібних до Python, де для формування відступів використовують лише пробіли. Цей параметр має пріоритет над встановленим параметром tabstospaces.

color [bold,][italic,]колір_тексту,колір_тла "формальний_вираз" ...
    Розфарбувати усі фрагменти тексту, які відповідають розширеному формальному виразу формальний_вираз, із використанням вказаних кольорів тексту і тла. Має бути вказано принаймні один з кольорів. Коректними назвами кольорів є: red, green, blue, magenta, yellow, cyan, white, and black. До кожної з цих восьми назв можна дописати слово-префікс light, щоб отримати яскравішу версію відповідного кольору. Словом grey або gray можна скористатися як синонімом lightblack. У консолі Linux light не впливатиме на колір тла. У емуляторах термінала, де передбачено принаймні 256 кольорів, іншими коректними (але без префіксів) назвами кольорів є такі: pink, purple, mauve, lagoon, mint, lime, peach, orange, latte, rosy, beet, plum, sea, sky, slate, teal, sage, brown, ocher, sand, tawny, brick, crimson та normal -- де normal означає типовий колір тексту або тла. У таких емуляторах термінала колір також можна вказати у форматі трицифрового шістнадцяткового числа із префіксом #. Цифри також числа відповідають величинам червоного, зеленого та синього компонентів, відповідно. Визначення таких кольорів наказує nano вибрати з доступної палітри колір, який є найближчим до вказаних значень. Перед парою значень може бути вказано bold і/або italic (відокремлені комами) для отримання напівжирного і/або курсивного тексту, якщо у вашому терміналі передбачено такі можливості.

    Усі команди розфарбовування буде застосовано у порядку, у якому їх вказано. Це означає, що пізніші команди можуть змінити кольори, які визначено попередніми командами.

icolor [bold,][italic,]колір_тексту,колір_тла "формальний_вираз" ...
    Те саме, що і вище, але із встановленням відповідності без врахування регістру символів.

color [bold,][italic,]колір_тексту,колір_тла start="форм_вираз_початку" end="форм_вираз_кінця"
    Розфарбувати усі фрагменти тексту, початок яких відповідає розширеному формальному виразу форм_вираз_початку, а кінець яких відповідає формальному виразу форм_вираз_кінця, використанням вказаних кольорів тексту і тла. Має бути вказано принаймні один з цих кольорів. Це означає, що після початкового відповідника форм_вираз_початку, буде розфарбовано увесь текст до першого відповідника форм_вираз_початку. Це уможливлює поширення підсвічування синтаксису на декілька рядків.

icolor [bold,][italic,]колір_тексту,колір_тла start="форм_вираз_початку" end="форм_вираз_кінця"
    Те саме, що і вище, але із встановленням відповідності без врахування регістру символів.

include "файл_синтаксису"
    Прочитати самодостатні синтаксиси кольорів з файла_синтаксису. Зауважте, що файл_синтаксису може містити лише вказані вище команди, від syntax до icolor.

extendsyntax назва команда аргумент ...
    Розширити раніше визначений як назву синтаксис ще однією командою. Це надає змогу додати нову команду color, icolor, header, magic, formatter, linter, comment або tabgives до вже визначеного синтаксису -- корисно, якщо ви хочете дещо удосконалити синтаксис, який вже визначено у одному з встановлених на рівні системи файлів (доступ до запису до яких, зазвичай, закрито).

ЗМІНА ПРИВ'ЯЗКИ КЛАВІШ
Прив'язку клавіш може бути змінено за допомогою таких трьох команд:

    bind клавіша функція меню
        Перепризначити вказану клавішу до вказаної функції у вказаному меню (або в усіх меню, де використано пункт функції, якщо вказано all).

    bind клавіша "рядок" меню
        Робить так, щоб вказана клавіша давала вказаний рядок у вказаному меню (або в усіх меню, де використано клавішу, якщо вказано all). Окрім буквального тексту і/або кодів керування, рядок може містити назви функцій у фігурних дужках. Ці функції буде викликано, коли буде натиснуто клавішу. Щоб включити сам символ фігурної дужки, скористайтеся конструкцією {{}.

    unbind клавіша меню
        Скасувати прив'язку вказаної клавіші до вказаного меню (або усіх меню, де використано клавішу, якщо вказано all).

Зауважте, що bind клавіша "{функція}" меню є еквівалентом bind клавіша функція меню, окрім того, що для останньої форми nano перевірятиме доступність функції у вказаному меню під час запуску програми (і повідомити про помилку, якщо її там не існує), оскільки для першої форми nano перевірятиме під час виконання, що функція існує, але не те, чи має вона сенс у поточному меню. Користувачеві слід подбати, щоб функція із назвою у фігурних дужках (або будь-яка їхня послідовність) була належною. Якщо цю умову не буде виконано, результат може бути несподіваним, можлива навіть аварія.

Формат запису клавіші має бути одним з таких:

    ^X  де X є латинською літерою або одним з декількох символів ASCII (@, ], \, ^, _) або словом "Space". Приклад: ^C.

    M-X де X є будь-яким символом ASCII, окрім [, або словом "Space", "Left", "Right", "Up" або "Down". Приклад: M-8.

    Sh-M-X
        де X — латинська літера. Приклад: Sh-M-U. Типово, усі комбінації Meta+літера активують ті самі дії, що і відповідні комбінації Shift+Meta+літера. Але якщо виконано якусь прив'язку Shift+Meta, це правило не виконуватиметься для усіх літер.

    FN  де N є числовим значенням від 1 до 24. Приклад: F10. (Часто клавішам від F13 до F24 відповідають комбінації клавіш від F1 до F12 з Shift.)

    Ins або Del.

Не варто виконувати повторну прив'язку ^M (Enter) або ^I (Tab). Зміна прив'язки ^[ (Esc) неможлива, оскільки відповідний код клавіші є початковим байтом комбінацій клавіш Meta та екранованих послідовностей. Повторна прив'язка будь-якої з клавіш, які пов'язано із рухом курсора (стрілок, Home, End, PageUp і PageDown) неможлива. У деяких терміналах неможливо виконати повторну прив'язку ^H (якщо не використано --raw), оскільки код цієї клавіші є тотожним до клавіші Backspace.

Коректними назвами функції для прив'язки можуть бути такі:

    help
        Викликає засіб перегляду довідки.

    cancel
        Скасовує поточну команду.

    exit
        Завершує роботу програми (або засобу перегляду довідки чи засобу навігації файлової системи).

    writeout
        Записує поточний буфер на диск із надсиланням запиту щодо назви.

    savefile
        Записує поточний файл на диск без запиту.

    insert
        Вставляє вміст файла до поточного буфера (у поточній позиції курсора) або до нового буфера, якщо встановлено параметр multibuffer.

    whereis
        Починає пошук фрагмента тексту вперед у поточному буфері -- або назв файлів, які відповідають введеному рядку у поточному списку панелі навігації файловою системою.

    wherewas
        Починає пошук фрагмента тексту назад у поточному буфері -- або назв файлів, які відповідають введеному рядку у поточному списку панелі навігації файловою системою.

    findprevious
        Шукає наступний відповідник у зворотному напрямку.

    findnext
        Шукає наступний відповідник у прямому напрямку.

    replace
        Інтерактивно замінює текст у поточному буфері.

    cut Вирізає і зберігає поточний рядок (або позначену ділянку тексту).

    copy
        Копіює поточний рядок (або позначену ділянку тексту) без його вилучення з буфера.

    paste
        Вставляє поточний збережений текст до поточного буфера у поточній позиції курсора.

    zap Викидає з буфера поточний рядок (або позначену ділянку). (Цю функцію типово прив'язано із комбінацією клавіш <Meta+Delete>.)

    chopwordleft
        Вилучає фрагмент тексту від позиції курсора до початку попереднього слова. (Цю функцію типово пов'язано із комбінацією клавіш <Shift+Ctrl+Delete>. Якщо ваш термінал видає ^H для <Ctrl+Backspace>, ви можете наказати програмі після натискання <Ctrl+Backspace> вилучати слово ліворуч від курсора повторною прив'язкою ^H до цієї функції.)

    chopwordright
        Вилучає фрагмент тексту від позиції курсора до початку наступного слова. (Цю функцію типово пов'язано із комбінацією клавіш <Ctrl+Delete>.)

    cutrestoffile
        Вирізає увесь текст від позиції курсора до кінця буфера.

    mark
        Встановлює позначку у поточну позицію для початку позначеного фрагмента тексту або, якщо таку позначку таму уже встановлено, скасовує її встановлення.

    location
        Повідомляє про поточну позицію курсора у буфері: рядок, стовпчик і позицію у символах.

    wordcount
        Обчислює і виводить до смужки стану кількість рядків, слів та символів у поточному буфері (або у позначеній ділянці тексту).

    execute
        Надсилає запит на виконання програми. Виведені програмою дані буде вставлено до поточного буфера — або до нового буфера, якщо використано M-F. Якщо перед назвою програми стоїть символ вертикальної риски (|), то поточний буфер (або позначена область) передається до програми, а виведені програмою дані замінюють вміст буфера (або позначеної області).

    speller
        Викликає програму для перевірки правопису, або типову hunspell(1), або GNU spell(1), або програму, яку визначено за допомогою --speller або set speller.

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

    linter
        Викликає програму перевірки синтаксису (якщо активний синтаксис таку визначає). Якщо ця програма виводить рядки у формі «назва_файла:номер_рядка:номер_символу: якесь повідомлення», курсор буде переведено у вказану позицію у згаданому файлі, а «якесь повідомлення» буде показано на смужці стану. Ви можете пересуватися від повідомлення до повідомлення за допомогою натискання клавіш <PgUp> і <PgDn>, і полишити режим перевірки за допомогою натискання комбінації клавіш ^C або клавіші <Enter>.

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

    fulljustify
        Вирівнює увесь поточний буфер (або позначену ділянку тексту).

    indent
        Встановлює відступ (зсуває текст праворуч) у поточному рядку або у позначених рядках.

    unindent
        Скасовує відступ (зсуває текст ліворуч) у поточному рядку або у позначених рядках.

    comment
        Коментує поточний рядок або позначені рядки чи знімає з них коментування. Буде використано стиль коментування, який вказано в активному синтаксисі.

    complete
        Завершує (якщо це можливо) фрагмент до курсора до повного слова, яке виявлено в іншому місці поточного буфера.

    left
        Перехід на одну позицію ліворуч (у редакторі або засобі навігації).

    right
        Перехід на одну позицію праворуч (у редакторі або засобі навігації).

    up  Перехід на один рядок вгору (у редакторі або засобі навігації).

    down
        Перехід на один рядок униз (у редакторі або засобі навігації).

    scrollleft
        Гортає поле перегляду на розмір табуляції ліворуч, якщо це можливо. (Типово, цю функцію пов'язано зі скороченням M-<.)

    scrollright
        Гортає область перегляду праворуч на розмір табуляції. Коли потрібно зберегти курсор видимим, його буде пересунуто на довший рядок у області перегляду. Якщо рядок достатньо довгий, гортання виконано не буде. (Цю дію типово пов'язано зі скороченням M->.)

    scrollup
        Гортає вміст поля перегляду на один рядок вгору (тобто текст ковзатиме вниз), лишаючи курсор у тій самій позиції у рядку, якщо це можливо. (Цю функцію типово пов'язано із комбінацією клавіш M-стрілка вгору. Якщо у вашій консолі Linux комбінація M-стрілка вгору не працює, див. поширені питання та відповіді на них: https://nano-editor.org/dist/latest/faq.html#4.1.)

    scrolldown
        Гортає вміст поля перегляду на один рядок униз (тобто текст ковзатиме вгору), лишаючи курсор у тій самій позиції у рядку, якщо це можливо (Цю функцію типово пов'язано із комбінацією клавіш M-стрілка вниз.)

    center
        Виконує гортання рядка з курсором у центр видимої області.

    cycle
        Виконує гортання рядка з курсором спочатку у центр екрана, потім нагору, потім вниз.

    prevword
        Пересуває курсор на початок попереднього слова.

    nextword
        Пересуває курсор на початок наступного слова.

    home
        Пересуває курсор на початок поточного рядка.

    end Пересуває курсор на кінець поточного рядка.

    beginpara
        Пересуває курсор на початок поточного абзацу.

    endpara
        Пересуває курсор на кінець поточного абзацу.

    prevblock
        Пересуває курсор на початок поточного або попереднього блоку тексту. (Блоки відокремлюються одним або декількома порожніми рядками.)

    nextblock
        Пересуває курсор на початок наступного блоку тексту.

    toprow
        Пересуває курсор на перший рядок у видимій області.

    bottomrow
        Пересуває курсор на останній рядок у видимій області.

    pageup
        Перейти на один екран вище.

    pagedown
        Перейти на один екран нижче.

    firstline
        Перейти до першого рядка файла.

    lastline
        Перейти до останнього рядка файла.

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

    findbracket
        Пересуває курсор до дужки (фігурної або круглої тощо), яка відповідає (у парі) тій, яка перебуває під курсором. Див. set matchbrackets.

    anchor
        Розташовує прив'язку у поточному рядку або вилучає прив'язку, якщо вона там була. (Прив'язку буде видно, якщо активувати показ номерів рядків.)

    prevanchor
        Виконує перехід до першої прив'язки до поточного рядка.

    nextanchor
        Виконує перехід до першої прив'язки після поточного рядка.

    prevbuf
        Перемикає програму на редагування або перегляд попереднього буфера, якщо відкрито декілька буферів.

    nextbuf
        Перемикає програму на редагування або перегляд наступного буфера, якщо відкрито декілька буферів.

    verbatim
        Вставляє наступну комбінацію клавіш до файла як є або починає введення символу Unicode, якщо введено шістнадцяткову цифру.

    табуляція
        Вставити табуляцію у поточну позицію курсора.

    enter
        Вставити новий рядок під поточним.

    delete
        Вилучити символ під курсором.

    backspace
        Вилучити символ до курсора.

    recordmacro
        Розпочинає записування комбінації клавіш -- комбінації буде збережено як макрос. Якщо вже виконується запис, записування буде припинено.

    runmacro
        Відтворює комбінації клавіш останнього записаного макроса.

    undo
        Скасовує останню виконану з текстом дію (додавання тексту, вилучення тексту тощо).

    redo
        Повторює останню скасовану дію (тобто скасовує скасовування).

    refresh
        Освіжити вміст екрана.

    suspend
        Призупиняє редактор і повертає керування командній оболонці (аж доки ви не накажете процесу поновити виконання за допомогою fg).

    casesens
        Перемикає пошук та заміну між режимом ігнорування та режимом врахування регістру символів.

    regexp
        Перемикає пошук та заміну між буквальним режимом та режимом формальних виразів.

    backwards
        Перемикає пошук та заміну між режимом пошуку вперед і режимом пошуку у зворотному напрямку.

    older
        Отримати попередню (ранішу) відповідь на запит.

    newer
        Отримати наступну (пізнішу) відповідь на запит.

    flipreplace
        Перемикає програму між режимом пошуку і режимом заміни.

    flipgoto
        Перемикає програму між режимом пошуку тексту та переходу до рядка із вказаним номером.

    flipexecute
        Перемикає програму між режимом вставлення файла та режимом виконання команди.

    flippipe
        При виконанні команди вмикає або вимикає передавання каналом вмісту поточного буфера (або позначеної ділянки тексту).

    flipnewbuffer
        Перемикає програму між режимом вставлення до поточного буфера і вставлення до порожнього буфера.

    flipconvert
        При читанні файла вмикає або вимикає перетворення даних з формату DOS/Mac. Типовим є перетворення.

    dosformat
        При записуванні до файла перемикає програму у режим запису даних у форматі DOS (CR/LF).

    macformat
        При записуванні до файла перемикає програму у режим запису даних у форматі Mac.

    append
        При записуванні файла вмикає режим дописування наприкінці, замість перезаписування файла.

    prepend
        При записуванні файла вмикає режим записування даних на початку файла, замість перезаписування вмісту файла.

    backup
        При записуванні файла вмикає режим створення резервної копії поточного файла.

    discardbuffer
        Відкидає поточний буфер без збереження (у меню запису). Якщо це був останній буфер, nano завершує роботу зі станом помилки 2.

    browser
        Запускає панель файловою системою (у меню читання та запису файлів), надаючи змогу вибрати файл зі списку.

    gotodir
        Переводить програму до вказаного каталогу, надаючи змогу навігації будь-яким каталогом файлової системи.

    firstfile
        Перейти до першого файла у списку при використанні засобу навігації файлової системи.

    lastfile
        Перейти до останнього файла у списку при використанні засобу навігації файлової системи.

    nohelp
        Вмикає або вимикає показ дворядкового списку клавіатурних прив'язок у нижній частині екрана. (Цей перемикач є особливим: він доступний в усіх меню, окрім засобу перегляду довідки та перевірки. Усі подальші перемикачі доступі лише у основному меню.)

    zero
        Вмикає або вимикає показ смужки заголовка та смужки стану.

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

    softwrap
        Вмикає або вимикає показ надто довгих рядків у декількох рядках на екрані.

    linenumbers
        Вмикає або вимикає показ номерів рядків перед текстом.

    whitespacedisplay
        Увімкнути або вимкнути показ пробілів.

    nosyntax
        Увімкнути або вимкнути підсвічування синтаксичних конструкцій.

    smarthome
        Вмикає або вимикає режим «кмітливої» клавіші Home.

    autoindent
        Вмикає або вимикає режим, коли новостворені рядки міститимуть ту саму кількість початкових пробілів, що і попередній рядок або наступний рядок, якщо попередній рядок був початком абзацу.

    cutfromcursor
        Перемикає режим вирізання тексту: вирізання усього рядка, чи лише частини від поточної позиції курсора до кінця рядка.

    breaklonglines
        Вмикає або вимикає режим жорсткого перенесення надто довгих рядків.

    tabstospaces
        Вмикає або вимикає перетворення введених табуляцій на пробіли.

    mouse
        Увімкнути або вимкнути підтримку миші.

Коректними розділами меню є такі:

    main
        Головне вікно редактора, де вводять і редагують текст.

    help
        Меню засобу перегляду довідки.

    search
        Меню пошуку (або визначення місця).

    replace
        Меню «шукати, щоб замінити».

    replacewith
        Меню «замінити на», яке з'являється після вибору «шукати, щоб замінити».

    yesno
        Меню «yesno», де буде задано питання із відповідями «так/ні/усі/скасувати».

    gotoline
        Меню «перейти до рядка (і позиції)».

    writeout
        Меню «записати файл».

    insert
        Меню «вставити файл».

    browser
        Меню «навігатора файлами» для вибору файла, який слід відкрити, вставити або записати.

    whereisfile
        Меню «шукати файл» у навігаторі файловою системою.

    gotodir
        Меню «перейти до каталогу» у засобі навігації файловою системою.

    execute
        Меню для вставлення виведених зовнішньою командою даних або фільтрування буфера (або позначеної ділянки тексту) за допомогою зовнішньої команди чи виконання одного із зовнішніх інструментів.

    spell
        Меню інтегрованого засобу перевірки правопису, де користувач може редагувати слово із помилкою.

    linter
        Меню засобу перевірки, за допомогою якого можна переходити між повідомленнями засобу перевірки.

    all Спеціальна назва, яка охоплює усі меню. Для bind вона означає, що усі меню, де існує вказана функція; для unbind вона означає усі меню, де існує вказана клавіша.

ПРИКЛАДИ
Щоб Ctrl+Z призупиняло nano:

    bind ^Z suspend main

Щоб Shift+Alt+C копіювало позначену область до буфера обміну даними системи:

    bind Sh-M-C "{execute}| xsel -ib {enter}{undo}" main

ФАЙЛИ

/etc/nanorc
    Загальносистемний файл налаштувань.

~/.nanorc, $XDG_CONFIG_HOME/nano/nanorc або ~/.config/nano/nanorc
    Файл налаштувань користувача.

/usr/share/nano/*
    Визначення синтаксису для розфарбування синтаксичних конструкцій для стандартних типів файлів (і для менш поширених типів файлів у підкаталозі extra/).

ДИВ. ТАКОЖ
nano(1)

https://nano-editor.org/cheatsheet.html
    Огляд типових прив'язок клавіш.

ПЕРЕКЛАД
Український переклад цієї сторінки посібника виконано 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.