Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Редактор vi

Крутиков М.П., Суперкомпьютерный Центр


Полноэкранный редактор vi

Редактор vi - универсальный полноэкранный текстовый редактор в среде UNIX. Универсальность означает, что, во-первых, этот редактор есть во всех UNIX-подобных ОС и, во-вторых, этот редактор работает с практически любым видом терминала (ANSI, VT100, VT220, VT320, DEC, и т. д.).(База данных, содержащая описание известных системе терминалов находится в файле /etc/termcap.) Эта универсальность обернулась несколько непривычным (для пользователей DOS) пользовательским интерфейсом: для управления редактором используются лишь ``обычные'' кнопки клавиатуры (алфавитно-цифровые символы и знаки препинания).

Имеющиеся на многих типах терминалов функциональные клавиши практически не используются. Если клавиатура терминала имеет стрелочные клавиши, то они используются, но, как будет видно ниже, в ограниченном контексте.

1 Режимы работы редактора

Ввод текста

В этом режиме все, что набирается на клавиатуре отображается на экране терминала и запоминается в буфере редактора.

Нет возможности осуществлять операции редактирования текста, за исключением стирания последнего набранного символа (с помощью комбинации клавиш < Control-H> ).

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

В этом режиме символы клавиатуры выполняют специальные функции (перемещение курсора, стирание частей текста, и т. д.), то есть функции редактирования.

Набираемые команды НЕ ОТОБРАЖАЮТСЯ НА ЭКРАНЕ!

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

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

Команды отображаются в нижней части экрана (в ``командной'' строке редактора).

2 Ввод текста

< Return> - создает пустую строку и переводит курсор в ее начало.

< Control-H> - уничтожает последний введенный символ (это действие не отображается на экране до выхода в командный режим).

< Control-[> или клавиша < Esc> - переводят редактор в командный режим.

В режиме ввода текста стрелочная клавиатура НЕ РАБОТАЕТ!

3 Команды

i - переход в режим набора методом вставки перед текущим символом

a - переход в режим набора методом вставки за текущим символом

R - переход в режим набора текста методом набивки.

Перемещение курсора


< Drawing or tabular insertion skipped...>

h,j,k,l - на один символ (одну строку), как показано стрелками

^ или 0 - в начало текущей строки

$ - в конец текущей строки

w - на слово вправо

b - на слово влево

} - на параграф вперед (параграф - это блок текста, отделенный пустой строкой)

{ - на параграф назад

[[ - в начало текста

]] - в конец текста

Кнопки стрелочной клавиатуры также позволяют перемещаться по тексту.

Редактирование

dd - стирание текущей строки

dдвижение курсора - стирание от текущего положения курсора до нового, задаваемого символом перемещения курсора(Нажатие кнопок стрелочной клавиатуры НЕ ЯВЛЯЕТСЯ движением курсора и не может использоваться в комбинированных командах.)

J - слияние текущей строки со следующей

u - отмена последней команды

. - повтор последней команды

: - переход в режим командной строки

4 Командная строка

:q или :q! - выход из редактора без сохранения изменений

:x - выход из редактора с записью, если файл был модифицирован

:w или w filename или w! filename - запись файла и возвращение в командный режим

:e filename или :e! filename - загрузка файла filename

:r filename - добавить содержимое указанного файла к редактируемому сразу за текущей строкой

:set nu - включить нумерацию строк

:set nonu - отключить нумерацию строк

:!command - выполнить команду UNIX не покидая редактора

:/word - выполнить поиск слова word в тексте

:/ - повторить поиск слова word далее по тексту

5 Блоки, буферы, окна редактирования. Повторители

Повторители

Командам и движениям курсора можно давать повторители (числа), например

2w - передвинуть курсор на два слова вперед

10l - передвинуть курсор на десять символов вправо

d10l - стереть десять символов справа от курсора

2d10l - стереть двадцать символов справа от курсора

5J - слить пять последующих строк в одну

4. - повторить последнюю введенную команду четыре раза

Буферы vi

Редактор имеет три типа буферов: буфер стирания (0-9), неименованный буфер и именованные буферы (a-z).

В буферы стирания автоматически заносятся стираемые элементы. В буфере 0 хранится последний стертый элемент, в буфере 1 - предпоследний и т. д.

Занести в буфер:

yy - занести текущую строку в неименованный буфер

yдвижение курсора - занести указанный движением курсора блок текста в неименованный буфер.

"ayy - занести текущую строку в именованный буфер a

"Ayy - добавить текущую строку к содержимому именованного буфера a

"by10j - занести последующие 10 строк в именованный буфер b

Вставить из буфера:

p - вставить в текущую позицию содержимое неименованного буфера

"ap - вставить в текущую позицию содержимое именованного буфера a

"1p - вставить в текущую позицию содержимое буфера стирания 1

Многооконное редактирование

Редактировать сразу несколько файлов можно либо пользуясь командной редактора :e filename, либо указав все необходимые файлы в командной строке при вызове редактора (например: vi file1 file2 file3). В последнем случае вы двигаетесь по списку файлов с помощью команд:

:n - переходим к следующему файлу в списке

:rew - возвращаемся к редактированию первого файла в списке

Именованные буферы сохраняют свое содержимое при переходе к редактированию другого файла.

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...