Командний рядок компонента редактора

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

Щоб виконати команду, введіть цю команду до командного рядка і натисніть клавішу Enter. За командним рядком ви зможете визначити, чи було виконано команду, у ньому ж можна переглянути повідомлення, яке могло бути виведено у відповідь на команду. Якщо ви вводили команду за після натискання клавіші 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 вмикання}

Якщо буде увімкнено цей параметр, KatePart використовуватиме суміш з символів табуляції і пробілів для додавання відступів. Ширина кожного з рівнів відступу визначатиметься значенням параметра 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: [число] у поле для введення, а потім натисніть кнопку Гаразд.

Приклад 5.1. Приклади команди char

Ввід: char:234

Вивід: ê

Ввід: char:0x1234

Вивід:


s///[ig] %s///[ig]

За допомогою цієї команди можна виконати дію з пошуку або заміни у стилі sed у поточному рядку або у всьому файлі (%s///).

Якщо коротко, у тексті буде виконано пошук за шаблоном пошуку, формальним виразом між першою і другою навскісними рисками, якщо буде знайдено відповідний фрагмент тексту, його буде замінено на вираз між середньою і останньою навскісними рисками у рядку. За допомогою круглих дужок можна створювати зворотні посилання: команда запам’ятає частину виразу, яка відповідає рядку між дужками і використає рядки, які будуть у пам’яті для шаблону заміни, — посилання на ці рядки можна вказати як \1 для першого набору у дужках, \2 для другого тощо.

Щоб знайти символ ( або символ ), вам слід екранувати ці символи за допомогою зворотної навскісної риски: \(\)

Якщо ви додасте ключ i в кінець виразу, під час пошуку буде враховано регістр символів. Якщо в кінець виразу додати g, буде замінено всі рядки, які відповідають шаблону, у іншому випадку буде замінено лише перший з цих рядків.

Приклад 5.2. Заміна тексту у поточному рядку

Припустімо, компілятор, яким ви збирали вашу програму, повідомив вам про те, що клас myClass, який згадується у рядку 3902 коду вашої програми не визначено.

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


Приклад 5.3. Заміна тексту у всьому файлі

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

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


Приклад 5.4. Складніший приклад

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

Припустімо, що у вас є такий рядок:

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

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

Приклад 5.5. 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 для обробки списку (позначених) рядків і замінити їх повернутим значенням виклику.

Приклад 5.6. Об’єднати позначені рядки

each 'function(lines){return lines.join(", ")}'

Або коротше:

each 'lines.join(", ")'


filter {STRING скрипт}

Викликати вказану як аргумент функцію JavaScript для обробки списку (позначених) рядків і вилучити ті з них, для яких буде повернуто false.

Приклад 5.7. Вилучити порожні рядки

filter 'function(1){return 1.length > 0;}'

Або коротше:

filter 'line.length > 0'


map {STRING скрипт}

Викликати вказану як аргумент функцію JavaScript для обробки списку (позначених) рядків і замінити рядок значенням, яке буде повернуто у відповідь на виклик.

Приклад 5.8. Вилучити порожні рядки

map 'function(line){return line.replace(/^s+/,"");}'

Або коротше:

map 'line.replace(/^s+/,"")'


duplicateLinesUp

Здублювати позначені рядки над поточним позначеним фрагментом.

duplicateLinesDown

Здублювати позначені рядки під поточним позначеним фрагментом.

Команди навігації

goto {INT рядок}

За допомогою цієї команди можна перейти до вказаного рядка.

grep {STRING шаблон}

Знайти у документі рядки, що відповідають формальному виразу шаблон. Щоб дізнатися більше, зверніться до розділу Додаток A, Формальні вирази.

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

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