Вас когда-нибудь пугал Вим?

Это определенно делало это со мной несколько раз.

Я застрял, нажимая случайные клавиши и щелкая везде на экране, чтобы выйти из него без каких-либо успехов.

Но не больше.

Если вы относитесь к этому, эти 10 основных принципов Vim сделают вас героем Vim.

Давай начнем!

Краткое введение в Vim

Vim означает Vi IMproved.

Это обновленная версия ранее выпущенного текстового редактора vi.

Vim — это популярный бесплатный экранный текстовый редактор с открытым исходным кодом.

Он доступен практически во всех системах на основе Unix по умолчанию.

1. Открытие Vim

Чтобы открыть Vim, введите vim в терминале bash.

Далее создадим файл.

Перед этим нам нужно будет узнать, какие режимы доступны в Vim.

Кроме того, нам нужно узнать о навигации по разным строкам в Vim.

Давайте совершим быстрый обход.

2. Режимы Vim

4 наиболее часто используемых режима в Vim:

1. Обычный режим

  • Это режим по умолчанию, когда вы открываете Vim.
  • Используя этот режим, вы можете переходить в другие режимы или проверять файл.
  • Все остальные режимы переходят в обычные режимы при нажатии клавиши Escape.

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

  • В этом режиме вы можете вставлять текст в документ.
  • Чтобы войти в этот режим, просто нажмите клавишу i.
  • Чтобы выйти из этого режима, нажмите клавишу Escape.

3. Визуальный режим

  • В этом режиме вы можете выделить текст в документе, а затем выполнять над ним операции.
  • Чтобы войти в этот режим, нажмите клавишу v.
  • Чтобы выйти из этого режима, нажмите клавишу Escape.

4. Режим командной строки

  • В этом режиме вы можете вводить команды для выполнения различных задач.
  • Чтобы войти в режим командной строки, нажмите клавишу :.
  • Чтобы выйти из этого режима, нажмите клавишу Escape.

3. Базовая навигация

Для навигации сначала переключитесь в «Нормальный» режим с помощью клавиши Escape, а затем используйте следующие клавиши:

  • h: двигаться влево
  • j: двигаться вниз
  • k: двигаться вверх
  • l: двигаться вправо

Вы также можете использовать клавиши со стрелками для этой цели.

4. Создание нового файла/редактирование файла

Теперь создадим новый файл.

Мы войдем в командный режим, нажав клавишу : и введя :edit, а затем имя файла, который мы хотим создать, следующим образом:

Эта команда создаст файл с именем lesson.txt, если он не существует. Если он существует, он отредактирует файл.

Есть еще один способ создать/отредактировать файл.

Введите vim, а затем имя файла, который вы хотите создать, как показано ниже.

Если в текущем каталоге нет существующего файла с именем lesson.txt, его запуск создаст его и откроет в Vim.

Если в текущем каталоге уже есть файл с именем lesson.txt, запуск команды откроет этот файл в Vim для редактирования.

Как описано ранее, lesson.txt по умолчанию открывается в «Нормальном» режиме.

5. Добавление текста

Чтобы добавить текст в файл, выполните следующие действия:

  • Переключитесь в режим «Вставка», нажав клавишу i.

  • Затем введите текст в файл.

6. Сохранение файла

Чтобы сохранить файл, выполните следующие действия:

  • Перейдите в «Нормальный» режим, нажав клавишу Escape.
  • Перейдите в режим «Командная строка», нажав :.
  • Введите:w, чтобы сохранить (записать) файл

7. Закрытие файла

В режиме «Командная строка» введите:

  • :q выйти
  • :wq или :x для сохранения и выхода
  • :q! для принудительного выхода без сохранения

8. Копировать, вырезать и вставлять текст

  • Нажмите Escape, чтобы перейти в «Нормальный» режим.
  • Перейдите к началу строки, которую вы хотите скопировать, как описано выше.
  • Нажмите v, чтобы войти в визуальный режим.
  • Используйте клавиши навигации, чтобы выбрать текст, который вы хотите скопировать/вырезать.

  • Нажмите y, чтобы скопировать текст, или нажмите d, чтобы вырезать текст.
  • Далее подведите курсор к тому месту, куда вы хотите вставить текст (это делается в «Обычном» режиме.
  • Нажмите p (вставить), чтобы вставить после курсора, или P, чтобы вставить перед курсором.

  • Сохраните и выйдите из файла, нажав Escape, чтобы войти в «Нормальный» режим, а затем, :x, используя модель «Командной строки».

Есть еще один ярлык, который можно использовать:

  • Перейдите в режим «Нормальный».
  • Нажмите dd, чтобы удалить текущую строку.
  • Нажмите yy, чтобы скопировать (выдернуть) текущую строку
  • Нажмите p или P, чтобы вставить строку после или перед текущей строкой соответственно.

9. Отменить и повторить изменения

Чтобы отменить изменение, войдите в обычный режим и нажмите u.

Чтобы повторить изменение, нажмите комбинацию клавиш Control + r в обычном режиме.

10. Текстовый поиск и замена

Для поиска текста выполните следующие действия:

  • В обычном режиме введите /, а затем поисковый запрос.
  • Нажмите клавишу Enter

Это будет выполнять поиск вперед от позиции курсора в документе.

  • В обычном режиме введите ?, а затем поисковый запрос для поиска в обратном направлении от позиции курсора.
  • Нажмите клавишу Enter
  • Нажмите n, чтобы перейти к следующему результату, и N, чтобы перейти к предыдущему результату.

Чтобы заменить/заменить текст, выполните следующие действия:

  • Перейдите в «Нормальный» режим
  • Введите :s/searchTerm/replaceTerm/, чтобы заменить первое вхождение searchTerm на replaceTerm в текущей строке.
  • Введите :s/search/replace/g, чтобы заменить все вхождения searchTerm на replaceTerm в текущей строке.
  • Введите :%s/search/replace/g, чтобы заменить все вхождения searchTerm на replaceTerm во всем файле.
  • Чтобы запросить подтверждение для каждой замены в приведенном выше примере, добавьте c к команде как :%s/search/replace/gc.

Посмотрите на файл ниже.

При использовании :%s/first/second/gc каждое вхождение first будет заменено на second, но каждый шаг замены будет запрашивать подтверждение

Данные параметры (как в зеленом цвете шрифта на изображении выше) означают следующее:

  • y: Подтвердить и выполнить текущую замену
  • n: Пропустить текущую замену
  • a: Подтвердить все оставшиеся замены
  • q: Выйти из процесса замены
  • l: Подтвердить текущую замену и выйти из процесса
  • ^E(Ctrl + E): прокрутить вниз на одну строку, не перемещая курсор
  • ^Y(Ctrl + Y): прокрутить вверх на одну строку, не перемещая курсор

Это все для этой статьи!

Спасибо, что прочитали!

Посмотрите мои книги по ссылке ниже: