Зміст
Метою використання режиму VI є не повна заміна Vim і підтримка всіх можливостей Vim. Його метою є використання способу редагування текстів Vim, — та вивчених прийомів користування Vim, — у програмах, які використовують текстовий редактор KatePart для вбудованих режимів редагування.
Режим VI чудово інтегрується у сторонні програми і відхиляється від поведінки Vim там, де це має сенс. Наприклад, команда :w у режимі VI KatePart відкриває діалогове вікно збереження файла.
Увімкнути режим VI для всіх нових панелей редагування можна за допомогою пункту меню → + → . На цій вкладці ви зможете встановити параметри роботи режиму введення VI, ви значити або змінити прив’язки клавіш у цьому режимі. Увімкнути або вимкнути режим введення VI можна також за допомогою пункту меню . (Типовим клавіатурним скороченням є Meta+Ctrl+V, де Meta зазвичай відповідає клавіша Windows).
Примітка
На відміну від більшості клавіатурних скорочень KDE, багато клавіатурних команд режиму Vi є залежними від регістру символів. Це означає, що команди y і Y мають зовсім різне призначення. Щоб ввести команду y (копіювати), переконайтеся, що режим Caps Lock (літер верхнього регістру) вимкнено і натисніть клавішу Y. Щоб ввести команду Y (копіювати до кінця рядка), скористайтеся комбінацією клавіш Shift+Y.
Висловлене вище зауваження не стосується команд, у яких використовується клавіша. Ці команди можна ввести у будь-якому з режимів Caps Lock без натискання Shift, але у частині команд використовується комбінація з Ctrl, після якої слід натиснути іншу клавішу, регістр якої слід брати до уваги. Наприклад, щоб ввести команду «Ctrl+W, h» (перемкнутися на праву панель у розділеному перегляді), переконайтеся що режим літер верхнього регістру вимкнено, натисніть комбінацію клавіш Ctrl+W, відпустіть клавіш, а потім натисніть клавішу H.
З Vim несумісні лише декілька можливостей режиму VI KatePart, якщо не брати до уваги багатьох речей, які просто не реалізовано. Нижче наведено список цих можливостей з поясненнями причин несумісності.
KatePart:
Uі Ctrl+R відповідають повторному виконанню скасованої команди.Vim: Ctrl+R звичайне повторення дії, U призначено для скасування всіх останніх змін у одному рядку.
Причиною того, що U прив’язано до повторення дії у режимі VI KatePart, є те, що клавіатурне скорочення Ctrl+R типово зайнято у KatePart заміною (пошук з заміною). Типово режим VI не змінює клавіатурні скорочення KatePart (ви можете зробити це вручну за допомогою сторінки → + → ), тому дія з повернення редагування має бути доступна у «звичайному» режимі натискання комбінацій клавіш. Окрім того, дія команди
Uу Vim не дуже добре збігається з внутрішньою системою скасування KatePart, отже її підтримка є доволі складним завданням.KatePart:
printвідкриває діалогове вікно Друк.Vim:
printдрукує рядки вказаного діапазону, подібно до свого дідуся, ed.Команди на зразок
:printдоступні не лише у режимі VI, але і користувачам «звичайних» режимів KatePart. Тому:printвідкриває діалогове вікно друку відповідно до принципів однорідності, замість імітації поведінки Vim.KatePart:
Yкопіює дані до кінця рядка.Vim:
Yкопіює весь рядок, подібно до командиyy.Поведінка VI для команди
Yнасправді є вадою. Для обох команд, зміни і вилучення, командиcc/ddвиконують дію на поточному рядку, аC/Dвиконує дію над даними від позиції курсора до кінця рядка. Але обидві команди,yyіY, копіюють поточний рядок. У режимі VI KatePartYкопіює дані до кінця рядка. Така поведінка описана як «логічніша» у документації до Vim.KatePart:
Oіoвідкривають [кількість] нових рядків і переводять програму у режим вставлення.Vim:
Oіoвідкривають нових рядок і вставляють текст [кількість] разів з виходом з режиму вставлення.Так зроблено в результаті узагальнення досвіду багатьох людей, які висловлювали здивування поведінкою Vim на каналі vim у IRC (#vim на Libera Chat).
Звичайний режим надає вам змогу вводити команди навігації або редагування документа і є типовим. Повернутися до цього режиму з будь-якого іншого режиму можна натисканням клавіші Esc.
Візуальний режим надає вам змогу позначати текст у документі. У цьому режимі можна користуватися більшістю команд звичайного режиму. Ви можете перевести команду у цей режим введенням літери
vдля позначення символів абоVдля позначення рядків.Режим вставлення надає вам змогу редагувати документ безпосередньо. Ви можете перевести програму у цей режим натисканням клавіші
iабо за допомогою одної з декількох інших команд, наведених нижче.Режим команд відкриває панель командного рядка KatePart. За допомогою цієї панелі ви зможете виконувати значну частину команд, доступних у реалізаціях Vi, а також деякі специфічні для KatePart команди. Докладніше про ці команди можна дізнатися з розділу «Командний рядок компонента редактора». Користуватися режимом команд просто: натисніть клавішу :, вкажіть команду і натисніть клавішу Enter.
Програма автоматично перемикатиметься на візуальний режим, якщо фрагмент тексту буде позначено за допомогою миші. Також перемикання відбуватиметься у разі використання функцій Kate, які позначають фрагменти тексту, зокрема «Вибрати все» (вибір або за допомогою меню, або за допомогою комбінації клавіш Ctrl+A.)
Передбачено підтримку позначок Vi та закладок Kate. У разі створення позначки у режимі Vi буде також створено відповідну закладку Kate, яку буде показано у меню . І навпаки, якщо буде створено закладку Kate, програма також створить відповідну позначку Vi у нульовій позиції рядка.
| Перейти у режим вставлення, додавати символи після курсора |
| Перейти у режим вставлення, додавати символи після рядка |
| Перейти у режим вставлення, додавати символи перед курсором |
Ins | Перейти у режим вставлення, додавати символи перед курсором |
| Перейти у режим вставлення, вставляти до першого непорожнього символу у рядку |
| Перейти у режим вставлення, вставити перед місцем, у якому було здійснено останній вихід з режиму вставлення |
| Перейти у візуальний режим; позначати символи |
| Перейти у візуальний режим; позначати рядки |
Ctrl+v | Перейти у візуальний режим; позначати блоки |
| Перейти у візуальний режим; повторно позначити останній позначений фрагмент |
| Додати новий рядок під поточним |
| Додати новий рядок перед поточним |
| Об'єднати рядки |
| Змінити: з наступним визначенням позиції для вилучення і переходом у режим вставлення |
| Змінити до кінця рядка: вилучити текст до кінця рядка і увійти до режиму вставлення |
| Змінити рядок: вилучити рядок і перейти у режим вставлення |
| Замінити символ |
| Замінити рядок |
| Вилучити рядок |
| З наступним визначенням позиції для вилучення |
| Вилучити до кінця рядка |
| Вилучити символ праворуч від курсора |
Del | Вилучити символ праворуч від курсора |
| Вилучити символі ліворуч від курсора |
| З визначенням позиції для встановлення нижнього регістру |
| Перевести всі символи поточного рядка у нижній регістр |
| З визначенням позиції для встановлення верхнього регістру |
| Перетворити символи поточного рядка на символи у верхньому регістрі |
| З визначенням позиції для копіювання |
| Копіювати рядок |
| Копіювати рядок |
| Вставити після курсора |
| Вставити перед курсором |
| Вставити після курсора з відступом |
| Вставити перед курсором з відступом |
| З визначенням символу, який слід замінити символ за курсором |
| Увійти до режиму заміни |
| Увійти у командний режим |
| Шукати |
| Вернути |
Ctrl+R | Повторити |
| Повторити |
| Встановити позначку (може бути використано для наступних пересувань текстом) |
| Знайти наступне |
| Знайти попереднє |
| Збільшити відступ рядка |
| Зменшити відступ рядка |
| Збільшити відступ рядків |
| Зменшити відступ рядків |
Ctrl+F | Сторінка вниз |
Ctrl+B | Сторінка вгору |
| Вивести значення ASCII для символу |
| Повторити останню зміну |
| Команда вирівнювання рядка |
| Команда вирівнювання рядків |
| Змінити регістр поточного символу |
Ctrl+S | Розділити перегляд горизонтально |
Ctrl+V | Розділити перегляд вертикально |
Ctrl+W, | Циклічний перехід до наступної панелі поділу |
Ctrl+W, Ctrl+W ← | Перейти до лівої панелі поділу |
Ctrl+W, Ctrl+W → | Перейти до правої панелі поділу |
Ctrl+W, Ctrl+W ↑ | Перейти до верхньої панелі поділу |
Ctrl+W, Ctrl+W ↓ | Перейти до нижньої панелі поділу |
Цими командами можна скористатися для пересування документом у звичайному та візуальному режимах або у поєднанні з однією з описаних вище команд. Перед цими командами можна вказувати параметр, який визначає кількість рухів, які слід виконати.
| Ліворуч |
← | Ліворуч |
Backspace | Ліворуч |
| Вниз |
↓ | Вниз |
| Вгору |
↑ | Вгору |
| Праворуч |
→ | Праворуч |
Пробіл | Праворуч |
| У кінець рядка |
End | У кінець рядка |
| До першого символу рядка (позиція 0) |
Home | До першого символу рядка |
| До першого непорожнього символу рядка |
| З додаванням символу, до якого слід перейти праворуч від курсора |
| З додаванням символу, до якого слід перейти ліворуч від курсора |
| З додаванням символу, до якого слід перейти праворуч від курсора, з розташуванням курсора перед цим символом |
| З додаванням символу, до якого слід перейти ліворуч від курсора, з розташуванням курсора перед цим символом |
| До першого рядка |
| До останнього рядка |
| До наступного слова |
| До наступного слова, відокремленого пробілом |
| До попереднього слова |
| До попереднього слова, відокремленого пробілом |
| До кінця слова |
| До кінця слова, відокремленого пробілом |
| До кінця попереднього слова |
| До кінця попереднього слова, відокремленого пробілом |
| З визначенням номера позиції у рядку для переходу |
| З визначенням елемента для переходу |
| До позначки |
| До першого непробільного символу рядка з позначкою |
| До попередньої початкової дужки |
| До наступної початкової дужки |
| До попередньої завершальної дужки |
| До наступної завершальної дужки |
Ctrl+I | Перейти до наступного місця |
Ctrl+O | Повернутися до попереднього місця |
| Перейти до першого рядка на екрані |
| Перейти до рядка посередині екрана |
| Перейти до останнього рядка на екрані |
| Перейти до вказаної у відсотках позиції документа |
| Перейти на рядок вгору візуально (у разі використання динамічного перенесення рядків) |
| Перейти на рядок вниз візуально (у разі використання динамічного перенесення рядків) |
Ctrl+← | Перейти на слово ліворуч |
Ctrl+→ | Перейти на слово праворуч |
Цими командами можна скористатися для позначення частин тексту документа.
| Блок слова: слово з пробілами |
| Слово: слово без пробілів |
| Від попередніх подвійних лапок ( |
| Від попередніх подвійних лапок ( |
| Від попередніх одинарних лапок ( |
| Від попередніх одинарних лапок ( |
| Від попередньої початкової круглої дужки [ |
| Від попередньої початкової круглої дужки [ |
| Від попередньої початкової квадратної дужки ( |
| Від попередньої початкової квадратної дужки ( |
| Від попередньої початкової фігурної дужки ( |
| Від попередньої початкової фігурної дужки ( |
| Від попередньої початкової кутової дужки ( |
| Від попередньої початкової кутової дужки ( |
| Від попередніх зворотних лапок ( |
| Від попередніх зворотних лапок ( |
Ctrl+D | Зменшити відступ |
Ctrl+T | Збільшити відступ |
Ctrl+E | Вставити знизу |
Ctrl+Y | Вилучити слово |
Ctrl+W | Вилучити слово |
Ctrl+U | Вилучити рядок |
Ctrl+J | Новий рядок |
Ctrl+H | Вилучити символ у напрямку назад |
Ctrl+Home | Перейти до першого символу документа |
Ctrl+R | Вставити вміст регістра n |
Ctrl+O, | Увійти до звичайного режиму лише для однієї команди |
Ctrl+A | Збільшити поточне позначене число |
Ctrl+X | Зменшити поточне позначене число |
Цього об’єкта немає у Vim. За допомогою текстового об’єкта, обмеженого комами, просто змінювати списки параметрів у C-подібних мовах та інших списках, поділених комами. Таким текстовим об’єктом є фрагмент тексту між двома комами або між комою і дужкою. На нашій ілюстрації показано три діапазони текстових об’єктів, позначені червоним тлом.
