18. Использование команд построчного редактора

 

Редактор vi имеет доступ ко многим командам построчного редактора ex. В этом подразделе обсуждаются некоторые наиболее часто используемые команды.

Команды редактора ex очень похожи на команды редактора ed.

Команды построчного редактора начинаются с символа ":" (двоеточие). После того, как вы введете двоеточие, курсор опускается в низ экрана и отображает двоеточие. Оставшаяся часть команды тоже появляется внизу экрана.

18.1. Временный возврат к shell

Когда вы входите в vi, то содержимое буфера заполняет ваш экран, делая невозможным выдачу команд для shell. Однако вам может это понадобиться. Например, вам необходимо будет получить информацию из другого файла для присоединения ее к текущему тексту. Вы можете получить эту информацию, запустив одну из команд shell, которая отображает текст файла на экране. Например, cat или pg. Однако процедура завершения работы с редактором и повторный вход в редактор потребуют времени и сил. Редактор vi предлагает вам два способа временного выхода из редактора для того, чтобы вы могли ввести команды shell (и даже редактировать другие файлы) не покидая сам редактор. Это команды :sh и :!.

Команда :! позволяет вам выйти из редактора и запустить команду shell одной командной строкой. Находясь в командном режиме редактора vi, введите :!. Эти символы будут напечатаны в низу экрана. Сразу же после символа ! введите команду shell. Shell запустит вашу команду, даст вам ответ и напечатает сообщение:

Hit return to continue

После того, как вы нажмете клавишу RETURN, vi обновит экран и курсор примет свое прежнее положение.

Команда редактора :sh позволяет вам делать то же самое, но ведет по другому себя на экране. Из командного режима редактора vi введите :sh и нажмите клавишу RETURN. Подсказка команды shell появится на следующей строке. Ведите ваши команды после подсказки так, будто бы вы работаете в нормальном режиме с shell. Когда вы будете готовы вернуться к редактору vi, введите ^d или exit. Экран обновит информация из вашего буфера и курсор вновь переместится на прежнее место.

При временном переходе к shell даже изменение справочников не мешает возврату к буферу редактора vi при вводе ^d или exit.

18.2. Запись текста в новый файл

Команда "w" позволяет вам создавать файл, копируя строки текста из файла, который вы в данный момент редактируете, в файл, который вы указали. Чтобы создать новый файл нужно указать строку или строки (номера строк) и имя нового файла в командной строке. Общий формат этой команды:

:line_number[, line_number]w filename

Например, чтобы записать третью строку буфера в файл three, введите:

:3w three<CR>

При успешном создании нового файла, редактор vi напечатает следующую информацию:

"three" [New file] 1 line, 20 characters

Чтобы записать текущую строку в файл, укажите . (точку) как адрес строки:

:.w junk<CR>

Создастся новый файл с именем junk. Он будет содержать только текущую строку буфера vi.

Вы можете записать часть буфера в новый файл, обозначив границы строк. Например, чтобы строки с 23-й по 37-ю записать в файл, введите следующую команду:

:23,37w newfile<CR>

18.3. Переход к указанной строке

Вы можете переместить курсор к любой строке в буфере, если введете команду:

:n<CR>

где n - номер строки в буфере.

18.4. Удалить остаток буфера

Одним из самых простых способов удаления всех строк от текущей строки и до конца буфера является использование команды "d" построчного редактора со специальнымим символами для текущей и последней строк:

:.,$d<CR>

где .(точка) - обозначает текущую строку;
$ - обозначает последнюю строку.

18.5. Добавить файл в буфер

Чтобы добавить текст из файла ниже указанной строки в буфер редактора, воспользуйтесь командой "r". Например, чтобы перенести содержимое файла data в ваш текущий файл, поместите курсор на то место, где должен стоять текст и введите команду:

:r data<CR>

Вместо перемещения курсора вы можете указать номер строки. Например, чтобы вставить файл data после 56-й строки в буфере, введите:

:56r data<CR>

18.6. Провести глобальные изменения

:g/pattern/command<CR> -

для каждой строки, содержащей pattern выполнить команду command редактора ex. Построчный редактор напечатает све строки, сождержащие pattern;

:s/pattern/new_words<CR> -

это команда замены. Построчный редактор отыскивает первое появление символов pattern в текущей строке и заменяет его на new_words;

:s/pattern/new_words/g<CR> -

редактор ex заменяет каждое появление pattern в текущей строке;

:g/helix/s//double helix/g<CR> -

эта команда осуществляет поиск слова helix. Каждое найденное слово helix заменяется на double helix. Ограничители после команды "s" позволяют не вводить слово helix каждый раз. Команда запоминает слово между ограничителями после команды "g".

19. Завершение работы с редактором vi

Пять основных команд могут быть использованы для завершения работы с редактором vi. Команды, которым предшествует ":", являются командами построчного редактора:

:wq<CR> - записать содержимое буфера vi в файл, который в данный момент редактируется и завершить работу с vi;

ZZ - записать содержимое буфера, если он изменялся с момента последней записи;

:q<CR> - записать временный буфер в новый файл filename и завершить работу с редактором vi;

:q!<CR> - завершить работу с редактором vi без записи содержимого буфера в файл; не учитываются все изменения, проведенные в буфере;

:q<CR> - завершить работу с редактором vi без записи содержимого буфера в файл. Эта команда работает в том случае, если вы не производили изменений в буфере. В противном случае vi выдаст предупреждающее сообщение о том, что вы должны сохранить буфер или воспользоваться для завершения работы с vi командой :q!<CR>. Что нужно сделать, чтобы дать файлу другое имя?

Например, вы хотите записать в новый файл junk. Введите команду:

:w junk<CR>

Затем завершите работу с vi:

:q<CR>

Если вы попытаетесь записать в уже существующий файл, то получите предупреждающее сообщение. Например, если вы попытаетесь записать в файл johnson, система выдаст сообщение:

"johnson" File exists - use "w!johnson"

to overwrite

Если вы хотите заменить содержимое существующего файла на содержимое буфера, то воспользуйтесь командой ":w!":

:w! johnson<CR>

20. Специальные опции для vi

Команда vi имеет специальные опции. Они позволяют:

восстановить потерянный файл, если работа vi была прервана; поместить в буфер редактирования несколько файлов и редактировать их по порядку; просмотр файла без риска случайного внесения изменений в него. 20.1. Восстановление потерянного файла

Если случайно произошло прерывание работы редактора vi, то не производится запись текста из буфера обратно в файл. Но vi сохраняет копию буфера. Когда вы вновь зарегистрируетесь в системе UNIX, вы можете восстановить файл с помощью опции -r. Введите:

vi -r filename<CR>

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

20.2. Редактирование нескольких файлов

Если вы хотите редактировать в одном сеансе более одного файла, то введите команду vi, указав имя каждого файла:

vi file1 file2<CR>

vi ответит, сколько файлов вы будете редактировать.

Например:


Информация о работе «Работа с редактором Vi. Другие текстовые редакторы UNIX»
Раздел: Информатика, программирование
Количество знаков с пробелами: 53631
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
46336
0
0

... одновременно открывать несколько файлов и быстро переключаться между ними, щелкая по ярлычкам.     5. Практическая часть работы Требовалось создать сайт с одноименным названием курсовой работы, а именно «Сравнительный анализ современных текстовых редакторов». Сайт создан с целью доведения информации о текстовых редакторах до всех желающих. Структура папок для хранения структуры сайта ...

Скачать
20668
0
5

... или заголовками для удобства работы. Меню Помощь содержит информацию о программе. 5. ЗАКЛЮЧЕНИЕ В ходе выполнения курсовой работы предоставленная программа была выполнена и работала. Конечно это простой текстовый редактор и у него мало функций по сравнению с MS WORD. Он чем-то похож на простой блокнот. Единственное его отличие что он был написан на языке С++. Язык С++ работал без ...

Скачать
47900
1
1

... KDE — свободная среда рабочего стола для UNIX-подобных операционных систем. Построена на основе кросс-платформенного инструментария разработки пользовательского интерфейса Qt. Работает преимущественно под UNIX-подобными операционными системами, которые используют графическую подсистему X Window System. Новое поколение технологии KDE 4 частично работает на Microsoft Windows и Mac OS X. В ...

Скачать
41738
1
1

... управления процессами и памятью, обеспечивающая использование системы двумя пользователями в режиме разделения времени, простой командный интерпретатор и несколько утилит. Все это еще не называлось операционной системой UNIX, но уже содержало родовые черты этой ОС. Название придумал Брайан Керниган. Он предложил назвать эту двухпользовательскую систему UNICS (Uniplexed Information and Computing ...

0 комментариев


Наверх