Оперциаонные системы ASP Linux и Windows
Методическое пособие - Компьютеры, программирование
Другие методички по предмету Компьютеры, программирование
i>Кто может пользоваться и изменять права доступа к файлам?
Тема 2.4. Редактирование файлов средствами редактора vi
2.4.1. Текстовый редактор vi
Во всех версиях ОС UNIX имеется встроенный текстовый редактор vi экранного типа. Он может применяться практически на любом терминале, начиная с телетайпа. Редактор является универсальным средством, доступным в среде любой UNIX-подобной ОС.
Редактор богат своими функциональными возможностями. Мы ограничимся наиболее часто используемыми функциями при составлении обычных текстов, текстов процедур и пр..
Основная особенность при редактировании текста в качестве управляющих используются обычные клавиши алфавитно-цифровой клавиатуры, а позиционирование осуществляется только относительно текущего положения курсора.
Начало работы с редактором:
$vi имя_файла [*] вызов редактора и файла
Если файл не существует, то создается новый пустой
Редактируемый файл переписывается в буфер. Далее все изменения в редактируемом файле соответственно осуществляются в буфере в КОМАНДНОМ РЕЖИМЕ - нажатые клавиши интерпретируются как команды редактирования текста. В командный режим редактор переводится автоматически сразу же после входа в программу vi.
По завершении редактирования надо выйти из редактора с сохранением файла:
:wq! - отредактированная копия замещает исходный файл. Если же требуется отменить все редактирование, то:
:q!
В режиме редактирования, например, для ввода новых фрагментов текста файла; используются следующие клавиши
команды режима ввода текста (значения клавиш на экране не отображается):
a (append) - набор последующего текста в текущую строку после курсора
i (insert) - вставка текста в текущую строку после курсора
o (open) - вставить пустую строку после текущей
Замечание: если в качестве управляющей используется клавиша нижнего регистра операция редактирования реализуется после курсора, если верхнего - перед курсором.
Операции ввода текста необходимо завершить командой
- переводит редактор в режим редактирования последнего варианта текста. В командном режиме могут исполняться и другие группы команд.
Команды управления курсором в области текста файла. Два способа - использование специальных клавиш-команд (см справочник) или использование общеизвестных управляющих клавиш клавиатуры.
Команды удаления текста
х - удаление текущего символа
[#]dw - удаление # текущих слов
[#]dd -удаление текущих строк
dG - удаление всех строк от текущей до последней
d$ - удаление конца строки от текущей позиции
d^ - удаление начала строки до текущей позиции.
Замечание: удаленные фрагменты текста не пропадают а временно помещаются в буфер, откуда онимогут быть возвращены в текст или перемещены по файлу (см. ниже).
Команды отмены произведенных изменений в текущей строке:
u - отмена (undo) последнего изменения
U - отмена всех изменений.
Команды копирования указанного в команде объекта в буфер:
[#]yw - копирование (yank) текущего слова
[#]yy - копирование текущей строки
уG - копирование строк от текущей до конца файла
yS - копирование части строки от курсора до конца строки
y^ - копирование части строки от курсора до начала строки
Команды вставки буфера в текст:
P - перед курсором
p - после курсора
Команды изменения текста:
r - заменяет (change) текущий символ на указанный
с
- #cw -изменение текущего слова
- #cc - всей текущей строки
- cG - всех строк файла от текущей до последней
- cS -части строки от курсора до конца строки
- с^ - части строки от курсора до начала строки.
Команды поиска строки файла по фрагменту текста:
/ - начиная от текущей строки до конца файла с переходом
на его начало
? - начиная от текущей строки до начала файла и по всему
n - поиск следующей строки в файле, аналогичной найденной
N - поиск предыдущего вхождения в файл заданной строки.
Редактор имеет возможности поиска строк по шаблонам (например по диапазону символов) и пр.
На экране содержимое редактируемого файла представляется как бы через некоторое окно со следующими полями (сверху - вниз):
- область текста файла;
- область пустых строк, которые надо ввести, если они понадобятся;
- тильда (~) - область для ввода дополнительного текста файла, но пустых строк этой области в файле нет;
- область сообщений редактора или область префиксных ex-команд - операций редактора над группой строк файла или над целым файлом (команды вводятся на приглашение ":"