Мегаобучалка Главная | О нас | Обратная связь


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



2015-11-27 466 Обсуждений (0)
Полноэкранный редактор vi 0.00 из 5.00 0 оценок




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

 

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

 

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

Ввод текста

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

Ввод текста

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

 

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

 

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

 

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

 

Команды

 

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

 

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

 

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

 

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

< Drawing or tabular insertion skipped...>

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

Повторители

 

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

 

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

 



2015-11-27 466 Обсуждений (0)
Полноэкранный редактор vi 0.00 из 5.00 0 оценок









Обсуждение в статье: Полноэкранный редактор vi

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (466)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)