Перемещение по тексту



Содержание

1. Введение ………..…………………………………………………..…………………3

2. Запуск vi.…………………………………………………………….…………………4

3. Режимы работы ……….………………………………………………………………5

4. Работа с файлами……………………………………………………….……………6

5. Перемещение по тексту …………………………………………..…………………7

6. Изменение текста…………………………………………………………….……….8

7. Выход из vi.……………………………………………………………………………10

8. Настройки vi ………………………………………………………………………..…10

Приложение “Список команд редактора ……….……….………………..…………..12

 

 


Введение

В любой системе Linux, даже самой минимальной конфигурации, всегда присутствует текстовый редактор, поскольку в любой – даже самой катастрофической ситуации у пользователя должна быть возможность отредактировать конфигурационные файлы, чтобы привести систему в рабочее состояние. По сложившейся традиции текстовым редактором, который обязательно запустится из любой командной строки Linux, является vi. Однако верно и обратное: если вы работаете в незнакомой системе Linux или произошел сбой, в результате которого доступна только очень небольшая часть системы, нельзя быть уверенным, что найдется хоть какой-нибудь другой текстовый редактор, кроме vi. Поэтому каждому пользователю Linux нужны хотя бы основные навыки работы в vi.

Редактор vi - универсальный полноэкранный текстовый редактор в среде UNIX. Он является мощным средством для создания и редактирования файлов. Он предназначен для работы на видеотерминале и использует окна, посредством которых просматривается текст файла. Несколько простых команд позволяют сделать изменения в тексте, которые очень быстро отображаются на экране.

 

Редактор может отобразить одну или несколько строк текста. Он позволяет передвигать курсор в любую точку на экране или в файле, создавать, изменять или удалять текст. Можно также использовать некоторые команды построчного редактора, такие как глобальные команды, которые позволяют изменять множество появлений некоторой строки символов, используя одну команду. Чтобы двигаться по файлу, можно прокручивать текст вперед или назад.

 

 


Запуск vi

Чтобы начать сеанс редактирования в vi, достаточно выполнить команду vi на любом терминале. Чтобы открыть для редактирования уже существующий файл, путь к этому файлу нужно указать в качестве параметра: "vi путь_к_файлу".

Вызванный без параметра, редактор откроет пустой буфер – чистый лист для создания нового текста. В центре экрана при этом может появиться краткое приветственное сообщение, где указаны версия программы и команды для получения помощи и выхода из редактора (что нетривиально). Однако такое сообщение может и не появиться – это зависит от версии vi, установленной в системе.

Для отображения текста и работы с ним vi использует весь экран терминала – только последняя строка предназначена для диалога с пользователем: вывода информационных сообщений и ввода команд. Пока буфер не заполнен текстом, в начале каждой строки экрана отображается символ "~", обозначающий, что в этом месте буфера нет ничего, даже пустой строки. Символ "#" обозначает курсор. Общий вид экрана в начале работы будет примерно такой:

#

~

~

~

~

~


 

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

Режимы работы - состояния редактора vi, в которых он по-разному обрабатывает нажатия клавиш.

Различают три режима vi:

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

2) Ввода/вставки - основной ввод и редактирование текста осуществляется в режиме ввода. Нажатие клавиши печатного символа приводит к вставке этого символа в текст; При использовании редактора vi основное время, скорее всего, будет проводиться именно в этом режиме. Переход в режим ввода из командного режима осуществляется командой i (от слова insert). Находясь в режиме ввода, можно вводить текст в то место, куда указывает курсор. Выход из режима ввода в командный режим осуществляется клавишей Esc.

3) командной строки - это специальный режим, в котором редактору даются сложные команды. В режиме командной строки обычно вводятся команды, название которых состоит из нескольких символов. В этом режиме в последнюю строку вводится команда, после чего нажимается клавиша Enter, и команда исполняется.

Редактор vi всегда начинает работу в командном режиме. В этом режиме есть два способа отдавать команды редактору:

- нажатие практически на любую клавишу редактор воспринимает как команду, причем набираемые команды не отображаются на экране;

- у vi есть своя командная строка: чтобы ее вызвать, нужно ввести в командном режиме ":". В результате в начале последней строки экрана появится двоеточие – это приглашение командной строки. Здесь вводятся более сложные команды vi, которые включают в себя целые слова (например, имена файлов). Команды передаются vi клавишей ENTER. Команды отображаются в нижней части экрана (в ``командной'' строке редактора).Переключение между режимами осуществляется посредством нажатия клавиши ESC

 

Работа с файлами

Редактируя текст в vi, пользователь работает не непосредственно с файлом, а с буфером. Если открывается уже существующий файл, vi копирует его содержимое в буфер и отображает буфер на экране. Все изменения, которые производит пользователь, происходят именно в содержимом буфера – открытый файл пока остается неизменным. Если же vi вызван без параметра, то создается пустой буфер, который пока не связан ни с каким файлом.

Для создания нового файла используется команда “:e <имя файла>”. Если файл с таким именем существует, то он будет открыт в окне редактора. В противном случае будет создан новый файл с указанным именем.

Можно открывать сразу несколько файлов. Переход между открытыми файлами осуществляется при помощи команды “:n” и “:N”.

Также можно загрузить новый файл в буфер, не завершая работу с текущим файлом. Например, команда “:r <имя файла>” загружает файл с указанным именем в буфер (т.е. выводит его в окно редактора, начиная с текущей позиции курсора).

Для сохранения изменений в текущем или другом файле используется команда “:w <имя файла>”.

 


Перемещение по тексту

В командном режиме клавиши перемещения курсора позволяют перемещать курсор по файлу. Курсор можно переместить с помощью следующих клавиш:


“h” - перемещает курсор на один символ влево;
“j” - перемещает курсор вниз на одну строку;
“k” - перемещает курсор вверх на одну строку;
“l” - перемещает курсор на один символ вправо.

Команды “j” и “k” сохраняют позицию курсора на строке. Например, если курсор находился на 17-м символе слева, то после ввода команды “j” или “k” он переместится на новую строку, но будет находиться на 17-м символе. Если символов в новой строке меньше, то курсор переместится на последний символ строки.

Примечание. Некоторые терминалы имеют специальные символы управления курсором, помеченные стрелками. Эти стрелки можно использовать вместо клавиш h, j, k, l.

Если перед “h”, “j”, “k”, “l” поставить число, то курсор передвинется на количество строк/символов, равных числу. Например, если надо передвинуть курсор на 4 строки вверх, надо ввести “4k”. Если невозможно продвинуться дальше в этом направлении, то vi подаст звуковой сигнал и курсор останется на прежнем месте.

Дополнительно к клавишам h и l можно использовать клавиши SPACEBAR и BACKSPACE для перемещения курсора вправо или влево.


<SPACEBAR> - переместить курсор на один символ вправо;
<nSPACEBAR> - переместить курсор на n символов вправо;
<BACKSPACE> - переместить курсор на один символ влево;
<nBACKSPACE> - переместить курсор на n символов влево.

 

Простое нажатие клавиши G перемещает курсор на самую последнюю строку файла, а нажатие <Ctrl>G выводит на экран номер текущей строки (той, где находится курсор).

 

Перемещение по тексту в режиме редактирования осуществляется нажатием клавиш «влево», «вправо», «вверх», «вниз».

 

 


Изменение текста

В командном режиме нельзя вводить символы в текст с клавиатуры, но изменить текст при этом можно, например, удаляя символы. Чтобы удалить отдельный символ (тот, на котором стоит курсор), достаточно нажать "x" в командном режиме, а чтобы удалить сразу целую строку (естественно, текущую, то есть ту, в которой находится курсор) – "dd" (от "delete", удалить).

Иногда пользователь, изменив текст, тут же хочет вернуть все обратно. Для этого в vi предусмотрена команда отмены последнего изменения: "u" в командном режиме (от " u ndo", отменить).

В редакторе vi существует две команды для добавления текста: insert(i) и append(a). Чтобы добавить текст с помощью команды i, переместите курсор в нужное место с помощью клавишей h, j, k, l. Затем нажмите i и введите текст. Введенный текст появится на экране слева от символа, на который указывает курсор. Этот символ и все остальные справа от курсора будут передвинуты вправо, чтобы освободить место для вашего нового текста. Редактор vi будет хранить вводимые символы до тех пор, пока не будет нажата клавиша ESCAPE. Если необходимо, передвинутые символы будут перенесены на следующую строку.

В современных версиях vi возможно «подсвечивать» текст, для того чтобы в последующем копировать, вырезать и вставлять фрагменты текста. Это, так называемый, визуальный режим. Переход в него осуществляется при помощи клавиши v, V или комбинации клавиш <CTRL+V>. Далее, двигая курсор командами перемещения, можно выделить область текста.

Команда Действие
v перейти в визуальный режим для выделения текста посимвольно
v<место> перейти в визуальный режим и выделить текст от курсора до <места>
V перейти в визуальный режим для выделения текста построчно
<CTRL+V> перейти в визуальный режим для выделения прямоугольного участка текста
d вырезать выделенный фрагмент текста
y скопировать выделенный фрагмент текста
p вставить фрагмент текста после курсора
P вставить фрагмент текста перед курсором

 

Для перевода редактора vi из командного режима в режим ввода текста во вновь образуемую пустую строку над позиционированной служит команда “О”, а для тех же действий под позиционированной строкой - команда “о”. В обоих случаях будет вначале образована пустая строка, курсор будет перемещен в первую позицию этой новой строки, и редактор переключится в текстовый режим до нажатия <Esc>.

Поиск и замена текста осуществляется при помощи команды:s/<regexp>/<replacement>/, где <regexp> — что нужно заменить и <replacement> - на что нужно заменить.

Команда Действие
:s/<что>/<чем>/ заменить 1-ое совпадение в текущей строке
:s/<что>/<чем>/g заменить все совпадения в текущей строке
:%s/<что>/<чем>/g заменить все совпадения в файле
:%s/<что>/<чем>/gc заменить все совпадения в файле с подтверждением

Контекстный поиск, т.е. поиск некоторой последовательности символов, например “abcd”, производится путем набора символа / (slash), сразу за которым набирается искомый контекст “abcd”, после чего нажимается клавиша <Enter>. В результате курсор передвинется вперед по файлу к ближайшей последовательности “abcd”, если такая существует. Переход к следующей последовательности контекста - по нажатию клавиши N. Возможен вариант этой команды с поиском назад по файлу с заменой символа / на?, тогда нажатие клавиши n вызовет переход к следующему контексту назад по файлу, и клавиши N - вперед по файлу. Для замены слова, в котором позиционирован курсор, на любое другое необходимо ввести команду, задаваемую комбинацией клавиш CW, после чего, до нажатия клавиши <Esc>, редактор переходит в текстовой режим ввода заменяющей последовательности.

Любая команда перемещения определяет две точки в тексте: ту, в которой был курсор до перемещения, и ту, в которую он переместился в результате данной команды. Расположенный между этими двумя точками отрезок текста однозначно задается командой перемещения. Например, команда ")" захватывает текст от текущего положения курсора до начала следующего предложения, а команда "d)" удаляет весь текст от текущей позиции курсора до начала следующего предложения. Наиболее полезные действия – "d" ("delete"), "c" ("change"), ">" и "<" (сдвинуть), "y" (запомнить) и "gq" (отформатировать).

Очень часто возникает необходимость заменить фрагмент в тексте: слово, предложение, строку и т. д. Это можно сделать в два действия: сначала удалить часть текста, затем перейти в режим вставки и вставить замену. vi предоставляет возможность упростить эту операцию, сведя два действия к одному: заменить. Гнездовая команда "c" предназначена именно для этого. Например, команда "cw" (буквально: "change word") заменит текст от курсора до начала следующего слова (так можно заменить одно слово), "c)" заменит текст от курсора до начала следующего предложения.

Выход из vi

Одним из способов выхода из vi является команда :wq, которая перед выходом сохранит текущий буфер. Вы также можете выйти из программы без сохранения посредством :q или (наиболее часто) :q!. Последняя команда используется в случае, если вы изменили файл, но не хотите сохранять эти изменения.

Иногда может случиться так, что ваша машина зависнет или vi “вылетит”. Однако для минимизации потерь в таких случаях vi принимает определённые меры. Он время от времени сохраняет открытые буферы во временный файл. Этот файл обычно называется так же как и оригинальный файл, но с точкой в начале имени. Это делает такой файл скрытым.

Этот временный файл удаляется после нормального завершения работы редактора. Это означает, что временная копия будет всё ещё доступна, если что-то вылетит или зависнет. Когда вы снова вернётесь к редактированию файла, вам будут предложены на выбор варианты действий. В большинстве случаев может быть восстановлена большая часть несохранённой работы.

Настройки vi

Вид и поведение vi можно существенно изменить при помощи настроек, приспособив редактор именно к своим вкусам и привычкам. Прямо во время работы редактора можно менять настройки из командной строки vi при помощи команды ":set имя_настройки". Кроме того, можно сделать настройку постоянной, вписав все нужные значения в конфигурационный файл.exrc в домашнем каталоге пользователя. При каждом запуске vi читает этот файл и исполняет все содержащиеся в нем команды.

 

 

Приложение


Дата добавления: 2015-12-21; просмотров: 29; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!