Додаткові інструменти редагування

Додавання/Вилучення позначок коментаря
За допомогою пунктів Закоментувати і Розкоментувати меню Інструменти ви зможете додавати або вилучати позначки коментарів до позначеного фрагмента або поточного рядка (у разі, якщо нічого не позначено), якщо коментарі підтримуються форматом файла, який ви редагуєте.
Правила коментування визначаються у файлі визначень синтаксису, отже, якщо не використано ніяких правил підсвічування синтаксису, коментування/вилучення коментарів буде неможливим.
У деяких форматах файлів можливе коментування лише окремих рядків, у деяких форматах передбачено коментування одразу декількох рядків парою позначок коментаря, а у деяких форматах можливі обидва варіанти. Якщо коментування парою позначок не передбачено форматом файла, коментування останнього рядка за неповного його позначення у багаторядковому фрагменті тексту буде неможливим.
Якщо форматом файла передбачено позначки для коментування окремого рядка, використанню цих позначок слід надавати перевагу, оскільки за такого варіанта ви уникнете проблем з вкладеними коментарями.
Якщо ви вилучаєте позначки коментарів, вам не слід позначати фрагментів тексту, які не було закоментовано. Під час вилучення коментування парою позначок з позначеного фрагмента тексту всі пробільні рядки поза позначками коментарів у позначеному фрагменті буде проігноровано.
Щоб додати позначки коментарів, скористайтеся пунктом меню Інструменти Закоментувати або відповідною комбінацією клавіш, типовою комбінацією є D.
Щоб вилучити позначки коментарів, скористайтеся пунктом меню Інструменти Розкоментувати або відповідною комбінацією клавіш, типовою комбінацією є D.

Командний рядок компонента редактора
У компонент редактора вбудовано інструмент для роботи з командним рядком, за допомогою якого ви зможете виконувати різноманітні дії за мінімального графічного інтерфейсу. Командний рядок — це текстова панель у нижній частині вікна редактора, щоб увімкнути показ цієї панелі скористайтеся пунктом меню Перегляд Перемкнутися до командного рядка або скористайтеся клавіатурним скороченням (типовим клавіатурним скороченням є F7). У редакторі передбачено набір команд, документацію з яких наведено нижче, та додаткові команди, за допомогою яких можна керувати додатками до програми.
Щоб виконати команду, введіть цю команду до командного рядка і натисніть клавішу . За командним рядком ви зможете визначити, чи було виконано команду, у ньому ж можна переглянути повідомлення, яке могло бути виведено у відповідь на команду. Якщо ви вводили команду за після натискання клавіші F7, за декілька секунд панель командного рядка буде приховано. Щоб витерти виведене командою повідомлення і ввести нову команду, натисніть клавішу F7 ще раз.
У командний рядок вбудовано довідкову систему. Щоб розпочати роботу з довідкою, введіть команду help. Щоб переглянути список можливих команд, введіть команду help list. Щоб переглянути довідку з окремої команди, виконайте команду help назва_команди.
Під час роботи з командним рядком ви можете скористатися вбудованим журналом команд, таким чином ви можете зменшити час доступу до команд, які вже раніше було введено. Для навігації журналом команд скористайтеся клавішами Стрілка вгору і Стрілка вниз. Під час показу команд з журналу буде позначено параметри команди, — це спростить вам перезапис параметрів команди.

Стандартні команди командного рядка

Типи аргументів
BOOLEAN 	Цей тип використовується для команд, які вмикають або вимикаю певні налаштування. Можливими значеннями таких параметрів є on, off, true, false, 1 і 0.
INTEGER 	Ціле число.
STRING 	Рядок, обмежений одинарними лапками (') або подвійними лапками ("), якщо у ньому містяться пробіли.

Команди налаштування редактора
Ці команди стосуються компонента редактора, за їх допомогою можна налаштовувати лише параметри показу поточного документа. Цими командами зручно користатися, якщо вам потрібно використати параметри, наприклад параметри відступів, відмінні від типових параметрів.
set-tab-width INTEGER ширина
	Встановлює ширину табуляції у значення ширина.
set-indent-width INTEGER ширина
	Встановлює відступ у значення кількості пробілів, визначене параметром ширина. Використовується, лише якщо увімкнено відступи з пробілів.
set-word-wrap-column INTEGER довжина
	Встановлює для параметра максимальної довжини рядка для примусового перенесення значення довжина. Цей параметр використовується, якщо увімкнено автоматичне розбиття тексту на рядки.
set-icon-border BOOLEAN вмикання
	Встановлює видимість бічної смужки піктограм.
set-folding-markers BOOLEAN вмикання
	Встановлює значення видимості позначок панелі згортання.
set-line-numbers BOOLEAN вмикання
	Встановлює значення видимості панелі номерів рядків.
set-replace-tabs BOOLEAN вмикання
	Якщо має значення «true», введені вами знаки табуляції буде замінено пробілами.
set-remove-trailing-space BOOLEAN вмикання
	Якщо цей параметр буде увімкнено, після переведення курсора на інших рядок пробіли наприкінці поточного рядка вилучатимуться.
set-show-tabs BOOLEAN вмикання
	Якщо буде увімкнено цей параметр, символи табуляції і пробіли наприкінці рядка буде показано у вигляді маленьких крапок.
set-show-indent BOOLEAN вмикання
	Якщо буде увімкнено цей параметр, відступи буде показано вертикальною крапчастою лінією.
set-indent-spaces BOOLEAN вмикання
	Якщо буде увімкнено цей параметр, редактор робитиме відступ на indent-width пробілів, замість символу табуляції, під час переходу на наступний рівень відступу.
set-mixed-indent BOOLEAN вмикання
	Якщо буде увімкнено цей параметр, використовуватиме суміш з символів табуляції і пробілів для додавання відступів. Ширина кожного з рівнів відступу визначатиметься значенням параметра indent-width, загальний же відступ буде оптимізовано так, щоб у ньому використовувалася максимальна кількість символів табуляції.
Після виконання цієї команди буде увімкнено створення відступів пробілами, якщо ширину відступу не було вказано, буде встановлено значення ширини відступу у половину значення параметра документа tab-width на час виконання команди.
set-word-wrap BOOLEAN вмикання
	Встановлює значення для динамічного перенесення слів у вмикання (true або false)
set-replace-tabs-save BOOLEAN вмикання
	Якщо увімкнути цей параметр, під час збереження документа символи табуляції буде замінено на пробіли.
set-remove-trailing-space-save BOOLEAN вмикання
	Якщо увімкнути цей параметр, під час збереження документа пробіли наприкінці рядків документа будуть вилучатися.
set-indent-mode STRING назва
	Встановлює режим автоматичного встановлення відступів у значення назва. Якщо програмі не вдасться розпізнати параметр назва, буде встановлено режим 'none'. Коректними значеннями режиму є «none», «normal», «cstyle», «haskell», «lilypond», «lisp», «python», «ruby» і «xml».
set-auto-ident BOOLEAN скрипт
	Увімкнути або вимкнути автоматичне встановлення відступів.
set-highlight STRING підсвічування
	Визначає систему підсвічування синтаксису для поточного документа. Параметром команди має бути коректна назва підсвічування у тому вигляді, у якому ця система фігурує у меню Інструменти Підсвічування. У цій команді передбачено автоматичне доповнення параметра за списком.
reload-scripts
	Перезавантажити всі скрипти JavaScript, використані Kate, зокрема скрипти встановлення відступів та скрипти командного рядка.
set-mode STRING режим
	Вибрати схему типів файлів для поточного документа.
nn[oremap] STRING початкова STRING відображена
	Відобразити послідовність символів початкова на послідовність відображена.

Команди редагування
Наступні команди змінюють вміст поточного документа.
indent
	Додає відступ у позначені рядки або поточний рядок.
unindent
	Вилучає початковий відступ з позначених рядків або поточного рядка.
cleanindent
	Вилучає відступи для позначених рядків або поточного рядка відповідно до параметрів відступів поточного документа.
comment
	Додає позначки коментаря, які роблять позначений фрагмент тексту, позначені рядки або поточний рядок коментарями, відповідно до формату тексту, який визначено у параметрах підсвічування синтаксису поточного документа.
uncomment
	Вилучає позначки коментаря, які роблять позначений фрагмент тексту, позначені рядки або поточний рядок коментарями, відповідно до формату тексту, який визначено у параметрах підсвічування синтаксису поточного документа.
kill-line
	Вилучає поточний рядок.
replace STRING шаблон STRING замінник
	Замінює текст, що відповідає шаблону, на текст, вказаний у заміннику. Якщо вам потрібно включити пробіл у шаблон, вам слід взяти як шаблон, так і замінник у одинарні або подвійні лапки. Якщо у команді не буде лапок, перше зі слів-параметрів вважатиметься шаблоном, а решта — замінником. Якщо параметр замінник буде порожнім, всі рядки, які відповідають шаблону буде вилучено з тексту.
Ви можете вказати прапорці налаштування пошуку за допомогою додавання двокрапки, за якою слід вказати одну або декілька літер, кожна з яких відповідатиме за налаштування. Команда викладатиме так: replace:параметри шаблон замінник. Можливі параметри:
b 	Пошук назад.
c 	Шукати від позиції курсора.
e 	Шукати лише у позначеному фрагменті.
r 	Пошук за формальним виразом. Якщо встановлено цей прапорець, ви зможете використовувати параметр \N, де N — номер підрядка у рядку «замінник».
s 	Виконати пошук з врахуванням регістру.
p 	Запитувати про дозвіл на заміну наступного елемента.
w 	Шукати лише цілі слова.
date STRING формат
	Вставляє дату/час у форматі, визначеному параметром формат, або у форматі yyyy-MM-dd hh:mm:ss, якщо рядок формату не буде вказано. Під час обробки рядка формат буде використано такі перетворення:
d	Номер дня без початкового нуля (1-31).
dd	Номер дня з початковим нулем (01-31).
ddd	Скорочена локалізована назва дня тижня (наприклад «пн» або «нд»).
dddd	Довга локалізована назва дня (наприклад «понеділок» або «неділя»).
M	Номер місяця без початкового нуля (1-12).
MM	Номер місяця з початковим нулем (01-12).
MMMM	Повна локалізована назва місяця (наприклад, «січень» або «грудень»).
MMM	Скорочена локалізована назва місяця (наприклад «січ» або «гру»).
yy	Рік як двоцифрове значення (00-99).
yyyy	Рік як чотирицифрове значення (1752-8000).
h	Години без початкового нуля (0..23 або 1..12 з показом до опівдня/після опівдня).
hh	Години з початковим нулем (00..23 або 01..12 з показом до опівдня/після опівдня).
m	Хвилини без початкового нуля (0..59).
mm	Хвилини з початковим нулем (00..59).
s	Секунди без початкового нуля (0..59).
ss	Секунди з початковим нулем (00..59).
z	Мілісекунди без початкових нулів (0..999).
zzz	Мілісекунди з початковими нулями (000..999).
AP	Використовувати показ у форматі AM/PM (до опівдня/після опівдня). AP буде замінено на рядок «AM» або рядок «PM».
ap	Використовувати показ у форматі am/pm (до опівдня/після опівдня). ap буде замінено на рядок «am» або рядок «pm».
char STRING ідентифікатор
	 За допомогою цієї команди можна вводити символи за їх числовими ідентифікаторами у десятковій, вісімковій або шістнадцятковій формі. Щоб скористатися нею, відкрийте діалогове вікно редагування команди і введіть команду char: [число] у поле для введення, а потім натисніть кнопку Гаразд.

Приклади команди char
Ввід: char:234
Вивід: ê
Ввід: char:0x1234
Вивід: ሴ
s///[ig] %s///[ig] 	 За допомогою цієї команди можна виконати дію з пошуку або заміни у стилі sed у поточному рядку або у всьому файлі (%s///).
Якщо коротко, у тексті буде виконано пошук за шаблоном пошуку, формальним виразом між першою і другою навскісними рисками, якщо буде знайдено відповідний фрагмент тексту, його буде замінено на вираз між середньою і останньою навскісними рисками у рядку. За допомогою круглих дужок можна створювати зворотні посилання: команда запам’ятає частину виразу, яка відповідає рядку між дужками і використає рядки, які будуть у пам’яті для шаблону заміни, — посилання на ці рядки можна вказати як \1 для першого набору у дужках, \2 для другого тощо.
Щоб знайти символ ( або символ ), вам слід екранувати ці символи за допомогою зворотної навскісної риски: \(\)
Якщо ви додасте ключ i в кінець виразу, під час пошуку буде враховано регістр символів. Якщо в кінець виразу додати g, буде замінено всі рядки, які відповідають шаблону, у іншому випадку буде замінено лише перший з цих рядків.

Заміна тексту у поточному рядку
Припустімо, компілятор, яким ви збирали вашу програму, повідомив вам про те, що клас myClass, який згадується у рядку 3902 коду вашої програми не визначено.
Ви подумаєте: «Оце тобі, то це ж має бути мій клас MyClass». Ви переходите до рядка 3902 і, замість спроб знайти потрібне слово у тексті, відкриваєте діалогове вікно редагування команди, вводите у нього s/myclass/MyClass/i, натискаєте кнопку Гаразд, зберігаєте файл і компілюєте його ще раз, — все, помилки немає.

Заміна тексту у всьому файлі
Припустімо тепер, що у вас є файл, у якому ви згадуєте пані Іванченко декілька разів, і тут вам стає відомо, що ця особа нещодавно вийшла заміж за пана Петренка. Ну і, звісно ж, вам потрібно тепер замінити всі рядки з пані Іванченко на пані Петренко.
Відкрийте вікно командного рядка і введіть туди команду %s/пані Іванченко/пані Петренко/, а потім натисніть клавішу , — решту зробить програма.

Складніший приклад
У цьому прикладі ми познайомилися з використанням зворотніх посилань, а також класу символів (якщо вам не знайомі ці терміни, будь ласка, зверніться до відповідної документації, посилання на яку ви зможете знайти далі за текстом).
Припустімо, що у вас є такий рядок:

void MyClass::DoStringOps( String      &foo, String &bar, String *p, int  &a, int &b )

Тепер вам здається, що цей код виглядає кострубато: ви вирішили скористатися ключовим словом const для всіх параметрів address of, у яких назві аргументу передує оператор &. Ви також бажаєте вилучити зайві пробіли так, щоб між будь-якими двома словами був лише один символ пробілу.
Відкрийте діалогове вікно редагування команди і введіть таку команду: s/\s+(\w+)\s+(&)/ const \1 \2/g. Натисніть кнопку Гаразд. Літера g наприкінці виразу наказує програмі перебудовувати формальний вираз для кожного зі знайдених елементів, щоб зберегти зворотні посилання.
Вивід: void MyClass::DoStringOps( const String &foo, const String &bar String *p, const int &a, const int &b )
Справу зроблено! Що ж сталося? Гаразд, було виконано пошук інтервалу з пробілів (\s+), за яким слідує один або декілька символів абетки (\w+), за якими слідують ще пробіли (\s+), за якими слідує символ амперсанда. У процесі пошуку було збережено ланцюжок символів абетки і амперсанд для подальшого використання під час операції з заміни. Після цього було виконано заміну знайденого відповідника нашого рядка на рядок з пробілом, за яким слідує слово const, за яким слідує пробіл, за яким слідує наш ланцюжок символів абетки (\1), за яким слідує один пробіл, за яким слідує збережений нами символ амперсанда (\2)
Крім того, у деяких випадках ланцюжок символів абетки міг мати значення String, у деяких int, цього було досягнуто використанням класу \w і лічильника +.
sort
	Впорядковує позначений фрагмент тексту або весь текст у документі.
natsort
	Впорядковує позначені рядки або увесь документ у природному порядку.

sort порівняно з natsort
sort(a10, a1, a2) виведе a1, a10, a2
sort(a10, a1, a2) виведе a1, a10, a2
moveLinesDown
	Пересунути позначені рядки нижче.
moveLinesUp
	Пересунути позначені рядки вище.
uniq
	Вилучити рядки-дублікати з позначеного фрагмента тексту або всього документа.
rtrim
	Вилучити кінцевий пробіл з позначеного фрагмента тексту або всього документа.
ltrim
	Вилучити початковий пробіл з позначеного фрагмента тексту або всього документа.
join STRING роздільник
	Об’єднати позначені рядки або рядки у всьому документі. Додатково можна визначити роздільник, наприклад: join ', '
rmblank
	Вилучити всі пробіли з позначеного фрагмента тексту або всього документа.
unwrap
	Скасувати перенесення рядків у позначеному фрагменті тексту або всьому документі.
each STRING скрипт
	Викликати вказану як аргумент функцію JavaScript для обробки списку (позначених) рядків і замінити їх повернутим значенням виклику.

Об’єднати позначені рядки
each 'function(lines){return lines.join(", ")}'
Або коротше:
each 'lines.join(", ")'
filter STRING скрипт
	Викликати вказану як аргумент функцію JavaScript для обробки списку (позначених) рядків і вилучити ті з них, для яких буде повернуто false.

Вилучити порожні рядки
filter 'function(1){return 1.length > 0;}'
Або коротше:
filter 'line.length > 0'
map STRING скрипт
	Викликати вказану як аргумент функцію JavaScript для обробки списку (позначених) рядків і замінити рядок значенням, яке буде повернуто у відповідь на виклик.

Вилучити порожні рядки
map 'function(line){return line.replace(/^s+/,"");}'
Або коротше:
map 'line.replace(/^s+/,"")'
duplicateLinesUp
	Здублювати позначені рядки над поточним позначеним фрагментом.
duplicateLinesDown
	Здублювати позначені рядки під поточним позначеним фрагментом.

Команди навігації
goto INT рядок
	За допомогою цієї команди можна перейти до вказаного рядка.
grep STRING шаблон
	Знайти у документі рядки, що відповідають формальному виразу шаблон. Щоб дізнатися більше, зверніться до розділу .
find STRING шаблон
	За допомогою цієї команди можна перейти до першого відповідника рядка шаблон у тексті, відповідно до налаштувань. Перейти до наступних відповідників можна за допомогою пункту меню Зміни Знайти далі (типовим клавіатурним скороченням є F3).
Команду пошуку можна налаштувати додаванням двокрапки, за якою можна вказати один або декілька параметрів, у формі find:параметри шаблон. Серед можливих параметрів:
b 	Пошук назад.
c 	Шукати від позиції курсора.
e 	Шукати лише у позначеному фрагменті.
r 	Пошук за формальним виразом. Якщо встановлено цей прапорець, ви зможете використовувати параметр \N, де N — номер підрядка у рядку «замінник».
s 	Виконати пошук з врахуванням регістру.
w 	Шукати лише цілі слова.
ifind STRING шаблон
	За допомогою цієї команди можна виконати інтерактивний пошук. Ви можете налаштувати пошук додаванням одного або декількох параметрів після символу двокрапки, ось так: ifind:параметри шаблон. Серед можливих параметрів:
b 	Пошук назад.
r 	Виконати пошук за вказаним формальним виразом.
s 	Виконати пошук з врахуванням регістру.
c 	Шукати від позиції курсора.

Команди базового керування редактором (залежать від використаного у програмі компонента редактора)
w
	Зберегти поточний документ.
wa
	Зберегти всі поточні відкриті документи.
q
	Закрити поточний документ.
qa
	Закрити всі відкриті документи.
wq
	Зберегти і закрити поточний документ.
wqa
	Зберегти і закрити всі поточні відкриті документи.
x
	Зберегти і закрити поточний документ, лише якщо його було змінено.
x
	Зберегти і закрити всі поточні відкриті документ, лише якщо до них було внесено зміни.
bp
	Перейти до попереднього документа у списку документів.
bn
	Перейти до наступного документа у списку документів.
new
	Відкрити новий документ на новій панелі, створеній горизонтальним поділом поточної панелі редагування.
vnew
	Відкрити новий документ на новій панелі, створеній вертикальним поділом поточної панелі редагування.
e
	Перезавантажити поточний документ, якщо його було змінено на диску.
enew
	Редагувати новий документ.
print
	Відкрити діалогове вікно друку, за допомогою якого ви зможете надрукувати поточний документ.

Використання обгортки коду
За допомогою згортання коду ви можете приховувати частини документа у вікні редактора: так легше працювати з великими документами. У діапазони рядків, придатні для згортання, визначаються правилами підсвічування синтаксису, тому згортання можливе не для всіх форматів файлів, — типово, згортання працює у коді програм, розмітки XML та подібних форматів. Під час редагування коду визначення підсвічування також можна вручну визначати діапазони згортання, зазвичай, такі діапазони визначаються за допомогою ключових слів BEGIN і END.
Щоб скористатися можливостями згортання, слід задіяти позначки згортання за допомогою пункту меню Перегляд Показувати маркери згортання, якщо цих позначок ще не показано у вікні редактора. На панелі позначок згортання з лівого боку екрана буде показано у графічному вигляді діапазони рядків, які можна згорнути. Символи-трикутники позначатимуть можливі дії з вказаним діапазоном: трикутник, вершина якого вказує вниз, означатиме розгорнутий діапазон рядків, — натискання позначки трикутника призведе до згортання діапазону, — тепер програма показуватиме трикутник з вершиною, спрямованою праворуч.
Передбачено три пункти меню, за допомогою яких можна керувати станом областей згортання коду, їх перелік можна знайти у розділі, присвяченому меню.
Програма запам’ятовує згортання після закриття файла. Коли ви наступного разу відкриєте файл для редагування, згорнуті вузли залишатимуться згорнутими. Це також стосується і дій з перезавантаження даних файлів.
Якщо ви не бажаєте користуватися можливістю згортання коду, ви можете зняти позначку з пункту Показувати маркери згортання (якщо наявні) на сторінці Вигляд налаштування редактора.