Unix/Linux - Учебник по редактору vi

Добро пожаловать,野心勃勃ые программисты! Сегодня мы окунемся в мир редактора vi, мощного инструмента, который существует с зарождения Unix. Не волнуйтесь, если вы никогда не работали с командной строкой раньше - мы начнем с самых азов и будем двигаться вверх. К концу этого учебника вы будете редактировать файлы, как профи!

Unix / Linux - The vi Editor

Запуск редактора vi

Давайте начнем наше путешествие с азов. Чтобы открыть редактор vi, вам просто нужно ввести vi, seguito от имени файла в вашем терминале. Например:

vi myfile.txt

Если файла не существует, vi создаст его для вас. Это как vi говорит: "Не волнуйтесь, я всегда рядом!"

Режимы работы

Теперь事情 становятся интересными. У vi есть два основных режима:

  1. Командный режим
  2. Режим вставки

Представьте себе, что Командный режим - это ваш "домашний очаг". Это место, где вы начинаете и куда вы вернетесь для выполнения операций, таких как копирование, вставка и навигация. Режим вставки, с другой стороны, это место, где происходит магия написания.

Чтобы切换 из Командного режима в режим вставки, нажмите i. Чтобы вернуться в Командный режим, нажмите клавишу Esc. Запомните это - это как тайный handshake пользователей vi!

Выход из vi

Хорошо, вы открыли vi, но как из него выйти? Не паникуйте! Вот таблица команд, чтобы помочь вам:

Команда Действие
:q! Выйти без сохранения
:wq Сохранить и выйти
:x Сохранить и выйти (также как :wq)

Просто введите эти команды в Командном режиме, и все будет в порядке!

Навигация в файле

Навигация в vi может показаться сложной сначала, но как только вы привыкните, вы будете летать по своим файлам быстрее, чем вы можете сказать "курсивные клавиши". Вот некоторые базовые команды movements:

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

Мне нравится запомнить их как "h" для левого, потому что он слева, и "l" для правого, потому что... ну, это просто имеет смысл!

Управляющие команды

Vi имеет множество управляющих команд. Вот несколько для старта:

Ctrl + f : Страница вперед
Ctrl + b : Страница назад
G : Перейти к последней строке
1G : Перейти к первой строке

Редактирование файлов

Теперь мы подошли к интересному! Чтобы начать редактирование, помните, чтобы切换 в режим вставки, нажав i. Затем, печатайте, как вам вздумается. Когда вы закончите, нажмите Esc, чтобы вернуться в Командный режим.

Удаление символов

В Командном режиме вы можете удалять символы с помощью этих команд:

x : Удалить символ под курсором
dw : Удалить слово
dd : Удалить целый ряд

Я однажды случайно удалил целый абзац с помощью dd. Давайте просто скажем, что я быстро понял важность команды отмены (u) после этого!

Команды изменения

Хотите изменить текст? Vi вам поможет:

cw : Изменить слово
cc : Изменить целый ряд
C : Изменить от курсора до конца строки

Команды копирования и вставки

Копирование и вставка в vi becomes легким делом, как только вы знаете команды:

yy : Вытащить (скопировать) строку
p : Вставить после курсора
P : Вставить перед курсором

Думайте о "yy" как о "yoink yoink" - вы тащите эту строку прямо отсюда!

Продвинутые команды

Готовы к некоторым продвинутым движениям? Попробуйте эти:

. : Повторить последнюю команду
~ : Изменить регистр символа

Поиск слов и символов

Нужно что-то найти? Используйте эти команды:

/pattern : Искать вперед по шаблону
?pattern : Искать назад по шаблону
n : Повторить поиск в том же направлении
N : Повторить поиск в обратном направлении

Команды настройки

Vi позволяет устанавливать различные параметры. Вот несколько полезных:

:set nu : Показать номера строк
:set nonu : Скрыть номера строк
:set ic : Игнорировать регистр в поиске

Выполнение команд

Вы можете выполнять команды shell, не выходя из vi. Как это здорово?

:!command : Выполнить команду shell

Например, :!ls покажет файлы в вашем текущем каталоге.

Замена текста

Нужно быстро внести много изменений? Попробуйте это:

:s/old/new : Заменить первое occurrence 'old' на 'new' в текущей строке
:s/old/new/g : Заменить все occurrence 'old' на 'new' в текущей строке
:%s/old/new/g : Заменить все occurrence 'old' на 'new' во всем файле

Важные моменты, которые стоит запомнить

  1. Vi чувствителен к регистру. 'A' и 'a' - это разные команды.
  2. Всегда знайте, в каком режиме вы находитесь. Если что-то не работает так, как expected, вы можете быть в неправильном режиме.
  3. Практикуйтесь, практикуйтесь, практикуйтесь! Vi имеет кривую обучения, но как только вы его освоите, вы будете редактировать с скоростью мысли.

Запомните, стать искусным в vi как научиться ездить на велосипеде. Сначала это может казаться неуверенным, но с практикой, вы будетеzooming вокруг ваших текстовых файлов с легкостью. Не отчаивайтесь, если это сначала feels странно - мы все были там!

Итак, включите ваш терминал, откройте vi и начните исследовать. Before you know it, вы будете редактировать, как профи, впечатляя своих друзей своим мастерством в командной строке. Счастливого кодирования!

Credits: Image by storyset