natgillin/translations-raw huggingface dataset:
In short, the text is searched for text matching the search pattern, the regular expression between the first and the second slash, and when a match is found, the matching part of the text is replaced with the expression between the middle and last part of the string. Parentheses in the search pattern create back references, that is the command remembers which part of the match matched in the parentheses; these strings can be reused in the replace pattern, referred to as \\1 for the first set of parentheses, \\2 for the second and so on.
Якщо коротко, у тексті буде виконано пошук за шаблоном пошуку, формальним виразом між першою і другою навскісними рисками, якщо буде знайдено відповідний фрагмент тексту, його буде замінено на вираз між середньою і останньою навскісними рисками у рядку. За допомогою круглих дужок можна створювати зворотні посилання: команда запам’ ятає частину виразу, яка відповідає рядку між дужками і використає рядки, які будуть у пам’ яті для шаблону заміни, — посилання на ці рядки можна вказати як\\ 1 для першого набору у дужках,\\ 2 для другого тощо.
To search for a literal (or), you need to escape it using a backslash character: \\(\\)
Щоб знайти символ (або символ), вам слід екранувати ці символи за допомогою зворотної навскісної риски:\\ (\\)
If you put an i at the end of the expression, the matching will be case insensitive. If you put a g at the end, all occurrences of the pattern will be replaced, otherwise only the first occurrence is replaced.
Якщо ви додасте ключ i в кінець виразу, під час пошуку буде враховано регістр символів. Якщо в кінець виразу додати g, буде замінено всі рядки, які відповідають шаблону, у іншому випадку буде замінено лише перший з цих рядків.
Replacing text in the current line
Заміна тексту у поточному рядку
Your friendly compiler just stopped, telling you that the class myClass mentioned in line 3902 in your source file is not defined.
Припустімо, компілятор, яким ви збирали вашу програму, повідомив вам про те, що клас myClass, який згадується у рядку 3902 коду вашої програми не визначено.
& quot; Buckle! quot; you think, it is of course MyClass. You go to line 3902, and instead of trying to find the word in the text, you launch the Editing Command Dialog, enter s/ myclass/ MyClass/ i, hit the OK button, save the file and compile & ndash; successfully without the error.
Ви подумаєте: « Оце тобі, то це ж має бути мій клас MyClass ». Ви переходите до рядка 3902 і, замість спроб знайти потрібне слово у тексті, відкриваєте діалогове вікно редагування команди, вводите у нього s/ myclass/ MyClass/ i, натискаєте кнопку Гаразд, зберігаєте файл і компілюєте його ще раз, — все, помилки немає.
Replacing text in the whole file
Заміна тексту у всьому файлі
Imagine that you have a file, in which you mention a Miss Jensen several times, when someone comes in and tells you that she just got married to Mr Jones. You want, of course, to replace each and every occurrence of Miss Jensen with Ms Jones.
Припустімо тепер, що у вас є файл, у якому ви згадуєте пані Іванченко декілька разів, і тут вам стає відомо, що ця особа нещодавно вийшла заміж за пана Петренка. Ну і, звісно ж, вам потрібно тепер замінити всі рядки з пані Іванченко на пані Петренко.
Enter the command line and issue the command %s/ Miss Jensen/ Ms Jones/ and hit return, you are done.
Відкрийте вікно командного рядка і введіть туди команду% s/ пані Іванченко/ пані Петренко /, а потім натисніть клавішу & Enter;, — решту зробить програма.
A More Advanced Example
Складніший приклад
This example makes use of back references as well as a character class (if you do not know what that is, please refer to the related documentation mentioned below).
У цьому прикладі ми познайомилися з використанням зворотніх посилань, а також класу символів (якщо вам не знайомі ці терміни, будь ласка, зверніться до відповідної документації, посилання на яку ви зможете знайти далі за текстом).
Suppose you have the following line:
Припустімо, що у вас є такий рядок:
Now you realize that this is not nice code, and decide that you want to use the const keyword for all address of arguments, those characterized by the & operator in front of the argument name. You would also like to simplify the white space, so that there is only 1 whitespace character between each word.
Тепер вам здається, що цей код виглядає кострубато: ви вирішили скористатися ключовим словом const для всіх параметрів address of, у яких назві аргументу передує оператор &. Ви також бажаєте вилучити зайві пробіли так, щоб між будь- якими двома словами був лише один символ пробілу.
Launch the Editing Command Dialog, and enter: s/ \\s+(\\w+)\\s+(amp; )/ const \\1 \\2/ g and hit the OK button. The g at the end of the expression makes the regular expression recompile for each match to save the backreferences.
Відкрийте діалогове вікно редагування команди і введіть таку команду: s /\\ s+ (\\ w+)\\ s+( amp;) / const\\ 1\\ 2/ g. Натисніть кнопку Гаразд. Літера g наприкінці виразу наказує програмі перебудовувати формальний вираз для кожного зі знайдених елементів, щоб зберегти зворотні посилання.
Output: void MyClass: :DoStringOps( const String & foo, const String & bar String *p, const int & a, const int & b)
Вивід: void MyClass:: DoStringOps (const String & foo, const String & bar String * p, const int & a, const int & b)
Mission completed! Now, what happened? Well, we looked for some white space (\\s+) followed by one or more alphabetic characters (\\w+) followed by some more whitespace (\\s+) followed by an ampersand, and in the process saved the alphabetic chunk and the ampersand for reuse in the replace operation. Then we replaced the matching part of our line with one whitespace followed by const followed by one whitespace followed by our saved alphabetical chunk (\\1) followed by one whitespace followed by our saved ampersand (\\2)
Справу зроблено! Що ж сталося? Гаразд, було виконано пошук інтервалу з пробілів (\\ s+), за яким слідує один або декілька символів абетки (\\ w+), за якими слідують ще пробіли (\\ s+), за якими слідує символ амперсанда. У процесі пошуку було збережено ланцюжок символів абетки і амперсанд для подальшого використання під час операції з заміни. Після цього було виконано заміну знайденого відповідника нашого рядка на рядок з пробілом, за яким слідує слово const, за яким слідує пробіл, за яким слідує наш ланцюжок символів абетки (\\ 1), за яким слідує один пробіл, за яким слідує збережений нами символ амперсанда (\\ 2)
Now in some cases the alphabetical chunk was String, in some int, so using the character class \\w and the + quantifier proved a valuable asset.
Крім того, у деяких випадках ланцюжок символів абетки міг мати значення String, у деяких int, цього було досягнуто використанням класу\\ w і лічильника +.
Commands for navigation
Команди навігації
goto INT line
goto INT рядок
This command navigates to the specified line.
За допомогою цієї команди можна перейти до вказаного рядка.
find pattern
find шаблон
This command navigates to the first occurrence of pattern according to the configuration. Following occurrences can be found using Edit Find Next (the default shortcut is F3).
За допомогою цієї команди можна перейти до першого відповідника рядка шаблон у тексті, згідно до налаштувань. Перейти до наступних відповідників можна за допомогою пункту меню Правка Знайти далі (типовим клавіатурним скороченням є F3).
The find command can be configured by appending a colon followed by one or more options, the form is find: options pattern. The following options are supported:
Команду пошуку можна налаштувати додаванням двокрапки, за якою можна вказати один або декілька параметрів, у формі find: параметри шаблон. Серед можливих параметрів:
ifind pattern
ifind шаблон
This command provides as-you-type searching. You can configure the behavior of the search by appending a colon followed by one or more options, like this: ifind: options pattern. Allowed options are
За допомогою цієї команди можна виконати інтерактивний пошук. Ви можете налаштувати пошук додаванням одного або декількох параметрів після символу двокрапки, ось так: ifind: параметри шаблон. Серед можливих параметрів:
Do regular expression search.
Виконати пошук за вказаним формальним виразом.
Using Code Folding
Використання обгортки коду
Code folding allows you to hide parts of a document in the editor, making it easier to overview large documents. In & kate; the foldable regions are calculated using rules defined in the syntax highlight definitions, and therefore it is only available in some formats - typically program source code, XML markup and similar. Most highlight definitions supporting code folding also lets you manually define foldable regions, typically using the BEGIN and END keywords.
За допомогою згортання коду ви можете приховувати частини документа у вікні редактора: так легше працювати з великими документами. У & kate; діапазони рядків, придатні для згортання, визначаються правилами підсвічування синтаксису, тому згортання можливе не для всіх форматів файлів, — типово, згортання працює у коді програм, розмітки XML та подібних форматів. Під час редагування коду визначення підсвічування також можна вручну визначати діапазони згортання, зазвичай, такі діапазони визначаються за допомогою ключових слів BEGIN і END.
To use the code folding feature, activate the folding markers using View Show Folding Markers menu item if they are not already visible. The Folding Markers Pane in the left side of the screen displays a graphical view of the foldable regions, with triangle symbols to indicate the possible operation on a given region: a top down triangle means that the region is expanded, clicking it will collapse the region and a right pointing triangle will be displayed instead.
Щоб скористатися можливостями згортання, слід задіяти позначки згортання за допомогою пункту меню Перегляд Показувати маркери згортання, якщо цих позначок ще не показано у вікні редактора. На панелі позначок згортання з лівого боку екрана буде показано у графічному вигляді діапазони рядків, які можна згорнути. Символи- трикутники позначатимуть можливі дії з вказаним діапазоном: трикутник, вершина якого вказує вниз, означатиме розгорнутий діапазон рядків, — натискання позначки трикутника призведе до згортання діапазону, — тепер програма показуватиме трикутник з вершиною, спрямованою праворуч.
Four commands are provided to manipulate the state of folding regions, see the menu documentation.
Передбачено чотири пункти меню, за допомогою яких можна керувати станом областей згортання коду, їх перелік можна знайти у розділі, присвяченому меню.
If you do not want to use the code folding feature, you can disable the Show folding markers (if available) option in the Appearance page of the editor configuration.
Якщо ви не бажаєте користуватися можливістю згортання коду, ви можете зняти позначку з пункту Показувати маркери згортання (якщо наявні) на сторінці Вигляд налаштування редактора.
Extending & kate; with Scripts
Розширення можливостей & kate; за допомогою скриптів
Since & kate; 3.4 in KDE 4.4 the & kate; editor component is easily extensible by writing scripts. The scripting language is ECMAScript (widely known as JavaScript). & kate; supports two kinds of scripts: indentation and command line scripts.
Починаючи з версії & kate; 3. 4 у KDE 4. 4, можливості компонента редактора & kate; можна дуже просто розширити за допомогою написання скриптів. Для написання скриптів слід використовувати мову ECMAScript (широко відому як JavaScript). У & kate; передбачено підтримку двох типів скриптів: скрипти встановлення відступів та скрипти командного рядка.
Indentation Scripts
Скрипти додавання відступів
Indentation scripts - also referred as indenters - automatically indent the source code while typing text. As example, after hitting the return-key code the indentation level often increases.
Скрипти встановлення відступів, які також будемо називати інструментами відступів, автоматично встановлюють відступи у тексті під час його введення. Наприклад, після натискання клавіші & Enter; програма зазвичай збільшує відступ у наступному рядку.
The following sections describe step by step how to create the skeleton for a simple indenter. As first step, create a new *. js file called e. g. javascript. js in the local home folder $KDEHOME/ share/ apps/ katepart/ script.
У наступних розділах наведено покрокові настанови щодо створення основи простого інструменту відступів. На першому кроці вам слід створити файл *. js з назвою, наприклад, javascript. js у локальній домашній теці $KDEHOME/ share/ apps/ katepart/ script.
The Indentation Script Header
Заголовок скрипту додавання відступів
The header of the file javascript. js is embedded in a comment and is of the following form / * kate-script * name: JavaScript * author: Example Name & lt; example. name@some. address. orggt; * license: BSD * revision: 1 * kate-version: 3.4 * type: indentation * required-syntax-style: javascript * indent-languages: javascript * priority: 0 * * A line without colon ':' stops header parsing. That is, you can add optional * text here such as a detailed license. */ Each entry is explained in detail now:
Заголовок файла javascript. js подається у межах закоментованого блоку і має таку форму / * kate- script * name: JavaScript * author: Example Name & lt; example. name@ some. address. orggt; * license: BSD * revision: 1 * kate- version: 3. 4 * type: indentation * required- syntax- style: javascript * indent- languages: javascript * priority: 0 * * A line without colon ':' stops header parsing. That is, you can add optional * text here such as a detailed license. * / Нижче ми зупинимося докладніше на кожному з записів заголовка.
kate-script [required]: This text string has to appear in the first line of the *. js file, otherwise & kate; skips the script.
kate- script [обов’ язковий запис]: цей текст слід додавати у першому рядку файла *. js, інакше & kate; просто відмовиться обробляти скрипт.
name [required]: This is the indenter name that appears in the menu Tools Indentation and in the configuration dialog.
name [обов’ язковий запис]: це назва інструменту відступів, яку буде показано у меню Інструменти Відступ і діалогових вікнах налаштування.
author [optional]: The author's name and contact information.
author [необов’ язковий запис]: ім’ я автора та дані щодо способу встановлення з ним зв’ язку.
license [optional]: Short form of the license, such as BSD or LGPLv3.
license [необов’ язковий запис]: скорочена форма умов ліцензування, зокрема BSD або LGPLv3.
revision [required]: The revision of the script. This number should be increased whenever the script is modified.
revision [обов’ язковий запис]: версія скрипту. Внесення змін до коду скрипту має призводити до збільшення його версії.
kate-version [required]: Minimal required & kate; version.
kate- version [обов’ язковий запис]: мінімальне значення версії & kate;, у якій працюватиме скрипт.
type [required]: The type must be indentation, otherwise & kate; skips this script.
type [обов’ язковий запис]: тут слід вказати значення indentation, інакше & kate; просто відмовиться обробляти цей скрипт.
required-syntax-style [optional]: Comma separated list of required syntax highlighting styles. This is important for indenters that rely on specific highlight information in the document. If a required syntax style is specified, the indenter is available only when the appropriate highlighter is active. This prevents undefined behavior caused by using the indenter without the expected highlighting schema. For instance, the Ruby indenter makes use of this in the files ruby. js and ruby. xml.
required- syntax- style [необов’ язковий запис]: відокремлений комами список потрібних для роботи скрипту стилів підсвічування синтаксичних конструкцій. Цей запис є важливим для інструментів відступів, які працюють на основі певних даних щодо підсвічування у документі. Якщо буде вказано стиль синтаксичних конструкцій, інструментом відступів можна буде скористатися, лише якщо буде задіяно відповідний інструмент підсвічування тексту. Таким чином можна запобігти « невизначеній поведінці », спричиненій використанням інструменту відступів без потрібної для його роботи схеми підсвічування. Наприклад, у такий спосіб налаштовано інструмент відступів Ruby у файлах ruby. js і ruby. xml.
indent-languages [optional]: Comma separated list of syntax styles the indenter can indent correctly, e. g.: c++, java.
indent- languages [необов’ язковий запис]: відокремлений комами список стилів синтаксичних конструкцій, які може обробляти інструмент відступів, наприклад, c++, java.
priority [optional]: If several indenters are suited for a certain highlighted file, the priority decides which indenter is chosen as default indenter.
priority [необов’ язковий запис]: якщо якомусь файлу з визначеним підсвічуванням синтаксичних конструкцій відповідає декілька інструментів відступів, за допомогою цього запису буде встановлено пріоритет застосування інструменту відступів.
& kate; reads all pairs of the form key: value until it cannot find a colon anymore. This implies that the header can contain arbitrary text such as a license as shown in the example.
& kate; виконує читання всіх пар записів у формі ключ: значення, аж доки не буде вичерпано перелік рядків з двокрапками. Це означає, що у заголовку може міститися довільний текст, зокрема текст ліцензії, як це показано у нашому прикладі.
The Indenter Source Code
Код інструменту відступів
Consider the following example: Assume using tabs to indent, and tab width is set to 4. Here, & lt; tabgt; represents a tab and '.' a space: 1: & lt; tabgt; lt; tabgt; foobar("hello ", 2: & lt; tabgt; lt; tabgt;......." world "); When indenting line 2, the indent() function returns [8, 15]. As result, two tabs are inserted to indent to column 8, and 7 spaces are added to align the second parameter under the first, so that it stays aligned if the file is viewed with a different tab width.
Розглянемо такий приклад: для встановлення відступів використовується символ табуляції, а ширину відступу визначено як 4 пробіли. У нашому прикладі, & lt; табgt; — це символ табуляції, а «. » — пробіл: 1: & lt; табgt; lt; табgt; foobar ("привіт", 2: & lt; табgt; lt; табgt;....... "світе"); Під час встановлення відступу для рядка 2 функція indent () повертає значення [8, 15]. У результаті буде додано два символи табуляції для встановлення відступу до стовпчика 8, а потім буде додано 7 пробілів для вирівнювання за другим параметром, більшим за перший, отже рядок залишатиметься вирівняним під час перегляду файла за будь- якої встановленої ширити відступу табуляції.
A default KDE installation ships & kate; with several indenters. The corresponding JavaScript source code can be found in $KDRDIR/ share/ apps/ katepart/ script.
У типовому пакунку KDE для & kate; передбачено декілька інструментів відступів. Код цих інструментів мовою JavaScript зберігається у каталозі $KDRDIR/ share/ apps/ katepart/ script.
Developing an indenter requires to reload the scripts to see whether the changes behave appropriately. Instead of restarting the application, simply switch to the command line and invoke the command reload-scripts.
Під час розробки скрипту встановлення відступів корисним буває перезавантаження скриптів для перевірки коректності поведінки під час встановлення відступів. Замість перезапуску програми достатньо просто перейти до командного рядка і виконати команду reload- scripts.
If you develop useful scripts please consider contributing to the & kate; Project by contacting the mailing list.
Якщо вами було створено якийсь корисний скрипт, ви зробити його вашим власним внеском до проекту розробки & kate;. Будь ласка, повідомте про вашу розробку у списку листування програми.
Command Line Scripts
Скрипти командного рядка
As it is hard to satisfy everyone's needs, & kate; supports little helper tools for quick text manipulation through the built-in command line. For instance, the command sort is implemented as script. This section explains how to create *. js files to extend & kate; with arbitrary helper scripts.
Оскільки всі користувачі мають різні потреби, у & kate; передбачено підтримку невеличких допоміжних інструментів для пришвидшення роботи з фрагментами тексту за допомогою вбудованого командного рядка. Наприклад, команду sort (впорядкувати) реалізовано саме за допомогою такого інструменту або скрипту. У цьому розділі ви знайдете пояснення щодо способу створення файлів *. js, які допоможуть вам розширити можливості & kate; додаванням допоміжних скриптів.
Command line scripts are located in the same folder as indentation scripts. So as first step, create a new *. js file called myutils. js in the local home folder $KDEHOME/ share/ apps/ katepart/ script.
Скрипти командного рядка зберігаються у одній теці зі скриптами встановлення відступів. Отже на першому кроці вам слід створити файл *. js з назвою myutils. js у локальній домашній теці $KDEHOME/ share/ apps/ katepart/ script.
The Command Line Script Header
Заголовок скрипту командного рядка
The header of each command line script is embedded in a comment and is of the following form / * kate-script * author: Example Name & lt; example. name@some. address. orggt; * license: BSD * revision: 1 * kate-version: 3.4 * type: commands * functions: sort, format-paragraph * * A line without colon ':' stops header parsing. That is, you can add optional * text here such as a detailed license. */ Each entry is explained in detail now:
Заголовок файла javascript. js подається у межах закоментованого блоку і має таку форму / * kate- script * author: Example Name & lt; example. name@ some. address. orggt; * license: BSD * revision: 1 * kate- version: 3. 4 * type: commands * functions: sort, format- paragraph * * A line without colon ':' stops header parsing. That is, you can add optional * text here such as a detailed license. * / Нижче наведено докладніший опис кожного з записів заголовка.
type [required]: The type must be commands, otherwise & kate; skips this script.
type [обов’ язковий запис]: тут слід вказати значення indentation, інакше & kate; просто відмовиться обробляти цей скрипт.
functions [required]: Comma separated list of commands in the script.
functions [обов’ язковий запис]: відокремлений комами список команд скрипту.
& kate; reads all pairs of the form key: value until it cannot find a colon anymore. This implies that the header can contain arbitrary text such as a license as shown in the example. The value of the key functions is a comma separated list of command line commands. This means a single script contains an arbitrary amount of command line commands. Each function is available through & kate; 's built-in command line.
& kate; виконує читання всіх пар записів у формі ключ: значення, аж доки не буде вичерпано перелік рядків з двокрапками. Це означає, що у заголовку може міститися довільний текст, зокрема текст ліцензії, як це показано у нашому прикладі. Значенням ключів функцій має бути відокремлений комами список параметрів командного рядка. Це означає, що у одному скрипті може міститися довільна кількість команд командного рядка. Доступ до функцій можна буде отримати за допомогою вбудованого командного рядка & kate;.
The Script Source Code
Код скрипту командного рядка
All functions specified in the header have to be implemented in the script. For instance, the script file from the example above needs to implement the two functions sort and format-paragraph. All functions have the following syntax:
Всі оголошені у заголовку функції має бути реалізовано у тілі скрипту. Наприклад, у файлі скрипту з наведеного вище прикладу слід реалізувати дві функції, sort і format- paragraph. Всі функції має бути записано згідно до таких синтаксичних правил:
function & lt; namegt; (arg1, arg2,...) {/ /... implementation, see also: Scripting API}
function & lt; назваgt; (параметр1, параметр2,...) {//... реалізація, див. також: Інтерфейс (API) роботи зі скриптами}