Vi (vim, vim-tiny) - легендарный текстовый редактор Linux. ОСНОВЫ.
ВВЕДЕНИЕ
Vi (vim) - легендарный текстовый редактор, который по умолчанию включен практически во все UNIX - like операционные системы. Если не включен по умолчанию - то скорее всего существует пакет, который без труда можно установить.
В Kerio Control Linux он также предустановлен.
Для запуска редактора в консоли набираем vi или vim
Vi (vim) - легендарный текстовый редактор, который по умолчанию включен практически во все UNIX - like операционные системы. Если не включен по умолчанию - то скорее всего существует пакет, который без труда можно установить.
В Kerio Control Linux он также предустановлен.
Для запуска редактора в консоли набираем vi или vim
А дальше... а дальше если вы не знаете как, то не сможете даже выйти из этого чудного текстового редактора.
Забегая вперед: если вы уже зашли в него, запутались, и хотите как можно быстрее свалить, нажмите <Esc><Esc>:q! (т.е. сначала пару раз нажимаем кнопку <Esc>, затем двоеточие, оно должно появиться слева, снизу, затем маленький символ q и восклицательный знак ! и только потом жмем <Enter>)
Почему я решил написать про vi в этом блоге и почему им полезно уметь пользоваться любому IT профессионалу:
Необыкновенный
подход к реализации интерфейса пользователя, объясняется тем, что vi
начинали делать еще во времена доисторических компьютеров (1976г). В те
времена у компьютеров было очень мало ресурсов и клавиатуры сильно
отличались от тех что сейчас лежат у нас на рабочих столах. И хотя уже
давным давно компьютеры стали совсем другими, vi по прежнему популярен.
На мой взгляд на это есть несколько причин:
Первая
причина: как уже говорилось выше, исторически так сложилось что он
много где предустановлен, и многие системные администраторы со стажем
его просто уже знают.
Вторая
причина: Практически весь перечень команд задействован с помощью
клавиш Ctrl, Shift, Esc, верхнего цифрового ряда и Enter конечно. Дело в
том, что иногда что то идет не так и из за конфликта терминального
клиента и сервера, почему то перестают нормально работать, некоторые
сочетания клавиш, клавиши управления курсором (стрелки), функциональные
клавиши (F1-F12), backspace и проч. и вот тогда vi становится палочкой
выручалочкой.
Vi или Vim или Vim-tiny
Во
многих системах набрав vi - вы получите vim. Но это не одно и тоже. Это
такая исторически сложившаяся фигня. Сначала был vi, потом его допилили
и появился vim (Vi IMproved). Может случится так, что набрав команду vi
вы нарветесь на тот самый, старый vi. Проблема здесь в том, что многие
мануалы которые вы найдете на просторах интернета, предназначаются для
полноценного vim который Vi IMproved, и многие команды и хоткеи просто
не будут работать со старым vi. Ну и что бы окончательно все запутать,
есть еще версия vim-tiny - это Vi IMproved, только для экономии места, в
нем отключены многие модули.
Версия vim в Kerio Control:
По сути он ведет себя так как старый злой добрый vi.
Если
честно, я не разделяю мнение фанатиков vim, которые проповедуют то что
vim лучший, однако учитывая его незыблемость на Linux платформе, считаю
что каждый хороший специалист должен уметь работать хотя бы с vim-tiny.
т.к. скорее всего именно он подвернется под руку в тяжёлой жизненной
ситуации (kerio control cli, vmware esxi cli, ddwrt cli ...). А вот
использовать полноценный vim со всеми доступными плагинами для написания
скриптов и программ, это уже дело вкуса - личное дело каждого.
Существует 100500 современных редакторов и IDE которые, на мой личный
взгляд, намного удобнее динозавра из 70х прошлого века.
НАЧАЛО (читаем очень внимательно)
Самое главное что надо понять, это то что в редакторе vim (здесь и далее под vim понимается версия vim-tiny)
есть несколько режимов работы. И в зависимости от того в каком режиме
вы сейчас находитесь, очень сильно зависит как среагирует редактор на
нажатие одних и тех же клавиш. Например если нажмем i в "основном
режиме" - vim перейдет в режим "вставки" (insert), а если нажмем i в режиме "вставки" - vim напечатает символ i. С
первого взгляда переключение режимов выглядит по дурацки, но в 70х это
был наверное единственный способ сделать редактор более функциональным.
Итак, в vim есть такие режимы как "Основной"(командный), "Вставка", "Визуальный". Основной режим
предназначен для навигации по файлу, управлению окнами, поиску,
управлению редактором и проч 100500 функций вима про которые вы никогда
не узнаете.
В основной режим мы попадаем как только запускаем vim.
Режим
"Вставка" предназначен для непосредственного вставки и редактирования
текстового фрагмента. Для перехода в режим редактирования, сначала
необходимо попасть в основной режим, а затем нажать одну из следующих
клавиш: i или a или o.
Вот
здесь есть неприятный нюанс, остановимся подробнее. Дело в том что в
vim-tiny в режиме вставки ведет себя несколько иначе чем обычный vim. В
полном vim вы можете нажать i и затем стрелками подогнать курсор правее последнего символа в строке:
после слова text добавляем 123, получается так:
в vim-tiny так сделать не получится, после нажатия i и перемещения курсора клавишами стрелок, vim-tiny сразу же выходит из режима вставки в основной режим:
и
единственный способ добавить 123 после слова text, это сначала в
командном режиме подогнать курсор к последнему символу слова text, а
затем вместо клавиши i нажать клавишу a, тогда курсор переместится вправо за слово text и тогда уже можно вводить 123.
Итого:
i - переходим в режим вставки и начинаем добавлять текст слева от позиции курсора.
a - переходим в режим вставки и начинаем добавлять текст справа от позиции курсора.
o - переходим в режим вставки и начинаем добавлять текст снизу от позиции курсора.
Что бы перейти из режима вставки в командный режим, нажимаем ESC
Проверяем на практике:
1. Запускаем vim-tiny: vim
2. Нажимаем i затем test text затем ESC
3. Нажимаем :w test.txt затем жмем Enter - файл сохранен:
Добавляем 123:
1. Подгоняем курсор к последнему символу в слове text:
2. Нажимаем a затем 123 затем ESC
3. Нажимаем :w затем жмем Enter - файл сохранен (здесь, что бы сохранить, уже не надо вводить имя файла)
4. Нажимаем :q - вышли из vim.
Сейчас можно попробовать открыть файл hosts и добавить туда какое нибудь dns имя:
1. Открываем файл hosts на редактирование vim /etc/hosts
2. Подгоняем курсор вниз файла, нажимаем o затем набираем 8.8.8.8 google.
3. Нажимаем :wq
Проверяем: ping google
Несколько советов:
Vim-tiny
в отличие от vim не отображает в каком режиме в данный момент находится
редактор. Поэтому если сомневаетесь, перед тем как что то делать,
нажмите несколько раз ESC что бы 100% быть уверенным что вы сейчас в
командном режиме.
Если все пошло не так и файл после попыток редактирования совсем поломался, жмем <Esc><Esc>:q! таким образом файл будет закрыт без сохранения, можно пробовать редактировать его повторно.
Сейчас
я рассмотрел только самые самые азы vim-tiny. Специально очень подробно
рассмотрел базовую функцию редактирования текста. Надеюсь что сейчас,
процесс изучения возможностей редактора vim будет более простым и
понятным.
Комментарии
Отправить комментарий