Пояснення режимів редактора Vim

Оскільки Vim зосереджений на зміні існуючого коду так само, як і написання нового коду, він розділений на кілька режимів, кожен з яких має різні цілі.

Нормальний режим

За замовчуванням Vim запускається в "звичайному" режимі. Доступ до звичайного режиму можна отримати з інших режимів, натиснувши Escабо .

У звичайному режимі натискання клавіш працює не так, як можна було б очікувати. Тобто вони не вставляють текст у документ; натомість певні натискання клавіш можуть:

Перемістіть курсор

  • h перемістити на один символ ліворуч
  • j перемістити на один рядок вниз
  • k рухатись на один ряд вгору
  • л рухатися вправоодин символ

Як і багато команд vim, переміщення рядків може мати префікс числа, щоб одночасно переміщати кілька рядків:

  • 4j перемістити на 4 ряди вниз
  • 6k перемістити на 6 рядків вгору

Основні рухи слів:

  • w перейти до початку наступного слова
  • b перейти до попереднього початку слова
  • e перейти до кінця слова
  • W перехід до початку наступного слова після пробілу
  • B перехід до початку попереднього слова перед пробілом
  • E перейдіть до кінця слова перед пробілом

Початок / кінець руху рядка:

  • 0 перехід до початку рядка
  • $ перейти до кінця рядка

Маніпулювати текстом

Увійдіть в інші режими

Звичайний режим - це місце, де слід проводити більшу частину часу під час використання Vim. Пам’ятайте, саме цим Вим відрізняється.

У звичайному режимі існує кілька способів переміщення по відкритому файлу. Окрім використання клавіш курсору для переміщення, ви також можете використовувати h(вліво), j(вниз), k(вгору) та l(вправо). Це особливо допомагає доторкнутися до друкарських машинок, яким не подобається залишати домашній рядок під час внесення змін.

Ви також можете вносити зміни до окремих символів у звичайному режимі. Наприклад, щоб замінити один символ, наведіть на нього курсор і натисніть r, а потім символ, яким ви хочете його замінити. Подібним чином ви можете видалити окремі символи, пересуваючи курсор над ним та натискаючи x.

Щоб виконати скасування, натисніть uу звичайному режимі. Це скасовує зміни до останнього часу, коли ви перебували в звичайному режимі. Якщо ви хочете повторити ( тобто скасувати скасування), натисніть Ctrl+rу звичайному режимі.

Режим вставки

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

Команди вставки включають:

  • iдля ' i nsert' це негайно перемикає vim в режим вставки
  • aдля ' a ppend' - це переміщує курсор після поточного символу та переходить у режим вставки
  • o вставляє новий рядок нижче поточного рядка і переходить у режим вставки на новому рядку

Ці команди також мають різноманітні регістри:

  • I переміщує курсор на початок рядка та переходить у режим вставки
  • A переміщує курсор до кінця рядка та переходить у режим вставки
  • O вставляє новий рядок над поточним і переходить у режим вставки на новому рядку

Існує набагато більше способів вставлення тексту у Vim, яких тут не можна перерахувати, але це найпростіші. Крім того, остерігайтеся занадто довгого перебування в режимі вставки; Vim не призначений для постійного використання в режимі вставки.

Щоб вийти з режиму вставки та повернутися до звичайного режиму, натисніть Escабо

Візуальний режим

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

Щоб зробити виділення тексту:

  • Натисніть, vщоб увійти у візуальний режим, це також позначить початкову точку вибору
  • Перемістіть курсор до потрібної кінцевої точки вибору; vim забезпечить візуальне виділення тексту

Візуальний режим також має такі варіанти:

  • V щоб увійти в режим візуального рядка, це буде робити вибір тексту за рядком
  • для переходу в режим візуального блоку це робить виділення тексту за блоками; переміщення курсору призведе до виділення тексту прямокутником

Щоб вийти з візуального режиму та повернутися до звичайного режиму, натисніть Escабо .

Візуальний режим насправді має кілька підтипів: візуальний , блок-візуальний та лінійно-візуальний

  • візуальний : як описано вище. Введіть, натиснувшиv
  • блок-візуальний : виберіть будь-яку прямокутну область. Введіть, натиснувши+v
  • лінійно-візуальний : завжди вибирайте повні рядки. Введіть, натиснувши+v

Командний режим

Командний режим має широкий спектр команд і може робити те, що в звичайному режимі не так легко. Щоб увійти в командний режим, введіть ':' із звичайного режиму, а потім введіть свою команду, яка повинна з'явитися внизу вікна. Наприклад, щоб зробити загальний тип пошуку та заміни, :%s/foo/bar/gщоб замінити все 'foo' на 'bar'

  • : Входить в командний режим
  • % Означає через усі лінії
  • s Засіб-замінник
  • /foo є регулярним виразом, щоб знайти речі, які можна замінити
  • /bar/ є регулярним виразом, щоб замінити речі на
  • /g означає глобальний, інакше він би виконувався лише один раз на рядок

Vim має низку інших методів, про які ви можете прочитати в довідковій документації, :hабо :help.

Режим заміни

Режим заміни дозволяє замінити наявний текст, безпосередньо набравши його. Перш ніж увійти в цей режим, перейдіть у звичайний режим і поставте курсор поверх першого символу, який ви хочете замінити. Потім натисніть 'R' (велике R), щоб увійти в режим заміни. Тепер що б ви не вводили, замінить наявний текст. Курсор автоматично переходить до наступного символу, як у режимі вставки. Єдина відмінність полягає в тому, що кожен введений вами символ замінить існуючий.