Unix/Linux - Учебник по редактору vi
Добро пожаловать,野心勃勃ые программисты! Сегодня мы окунемся в мир редактора vi, мощного инструмента, который существует с зарождения Unix. Не волнуйтесь, если вы никогда не работали с командной строкой раньше - мы начнем с самых азов и будем двигаться вверх. К концу этого учебника вы будете редактировать файлы, как профи!
Запуск редактора vi
Давайте начнем наше путешествие с азов. Чтобы открыть редактор vi, вам просто нужно ввести vi
, seguito от имени файла в вашем терминале. Например:
vi myfile.txt
Если файла не существует, vi создаст его для вас. Это как vi говорит: "Не волнуйтесь, я всегда рядом!"
Режимы работы
Теперь事情 становятся интересными. У vi есть два основных режима:
- Командный режим
- Режим вставки
Представьте себе, что Командный режим - это ваш "домашний очаг". Это место, где вы начинаете и куда вы вернетесь для выполнения операций, таких как копирование, вставка и навигация. Режим вставки, с другой стороны, это место, где происходит магия написания.
Чтобы切换 из Командного режима в режим вставки, нажмите 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' во всем файле
Важные моменты, которые стоит запомнить
- Vi чувствителен к регистру. 'A' и 'a' - это разные команды.
- Всегда знайте, в каком режиме вы находитесь. Если что-то не работает так, как expected, вы можете быть в неправильном режиме.
- Практикуйтесь, практикуйтесь, практикуйтесь! Vi имеет кривую обучения, но как только вы его освоите, вы будете редактировать с скоростью мысли.
Запомните, стать искусным в vi как научиться ездить на велосипеде. Сначала это может казаться неуверенным, но с практикой, вы будетеzooming вокруг ваших текстовых файлов с легкостью. Не отчаивайтесь, если это сначала feels странно - мы все были там!
Итак, включите ваш терминал, откройте vi и начните исследовать. Before you know it, вы будете редактировать, как профи, впечатляя своих друзей своим мастерством в командной строке. Счастливого кодирования!
Credits: Image by storyset