next up previous contents index
Next: Позиционирование курсора на неотображаемом Up: Экранный редактор vi Previous: Редактирование текста в командном   Contents   Index

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

Ранее вы познакомились с тем, как перемещать курсор с помощью клавишей h, j, k, l, а также BACKSPACE и SPACEBAR. В этом подразделе приводятся еще несколько команд, которые помогут вам быстро перемещать курсор по экрану. Эти команды выполняются в командном режиме.

Для позиционирования курсора на символ в строке существуют три способа:

Переместить курсор на первый или последний символ в строке можно следующим образом:

$
переместить курсор на последний символ в строке;
0(ноль)
переместить курсор на первый символ в строке;
^
переместить курсор на первый ненулевой символ в строке.

Третий способ позиционирования курсора в строке - это поиск указанного символа на текущей строке. Если символ не найден на текущей строке, то появляется звуковой сигнал и курсор остается на прежнем месте. Существуют команды, которые проводят поиск по шаблону. Они будут описаны далее. Здесь приведем 6 команд для поиска внутри строки: f, F, t, T, :(двоеточие) и ,(запятая). После f, F, t и T вы можете указать символ:

fx
осуществляет поиск указанного символа x справа от текущей позиции курсора;
Fx
осуществляет поиск указанного символа x слева от текущей позиции курсора;
tx
осуществляет перемещение курсора вправо на символ до указанного символа x;
Tx
осуществляет перемещение курсора влево на символ до указанного символа x;
;
повторяет предыдущий поиск символа. Команда ; запоминает символ и ищет следующее появление символа в текущей строке;
,
повторяет предыдущий поиск символа, но в обратном направлении. Команда , запоминает символ и ищет следующее появление символа в текущей строке;

Команда - (минус) перемещает курсор на одну строку вверх, позиционируя его на первом ненулевом символе. Чтобы переместить курсор более чем на один символ, укажите пред знаком минус количество строк. Например, чтобы переместить курсор вверх на 13 строк, введите: 13- Если эти строки находятся выше отраженного экрана, то окно переместится так, чтобы открыть их. Этот способ помогает быстро перемещаться по файлу. Если выше окажется меньше 13-ти строк, то звуковой сигнал подскажет вам, что вы сделали ошибку и курсор останется в своем прежнем положении.

Команда + (плюс) перемещает курсор вниз на одну строку и позиционирует на первый непустой символ. Перед командой + можно указать количество строк, на которое вы хотите переместить курсор. Например, чтобы переместить курсор на 9 строк вниз, введите: 9+

Если некоторые строки расположены ниже текущего экрана, то окно переместится вниз, чтобы открыть их.

Редактор vi предполагает, что слово - это строка символов, которая может включать в себя буквы, цифры и символы подчеркивания. В редакторе vi существует 6 команд позиционирования: w, b, e, W, B и E. Команды w, b, e рассматривают любой символ, отличный от буквы, цифры или подчеркивания, как разделитель, означающий начало или конец слова. Пунктуация до или после пустого пространства является разделителем слов. Символ начала или конца строки также является разделителем.

Команды W, B, E рассматривают пунктуатию как часть слова. Слова разделяются пустым пространством, которое состоит из символов пробел, табуляция и новая строка.

Команды позиционирования:

w
перемещает курсор к началу следующего слова;
nw
перемещает курсор к началу n-го слова; конец строки не останавливает движение курсора. Он продолжает подсчет слов с начала следующей строки;
W
игнорирует все знаки пунктуации и перемещает курсор на следующее после пробела слово;
e
перемещает курсор на последний символ в следующем слове;
E
перемещает курсор на последний символ в слове. Игнорирует все символы пунктуации за исключением пробела. Слова разделяются пробелами;
b
перемещает курсор к первому символу предыдущего слова;
nb
перемещает курсор к первому символу n-го предыдущего слова. Команда b не останавливается в начале строки и продолжает движение к началу строки;
B
используется подобно команде b, за исключением того, что слова разделяются только символами пробел и новая строка. Она рассматривает все другие символы пунктуации как буквы.

Редактор vi также распознает предложения. В редакторе vi предложение заканчивается знаками !, . или ?. Если эти разделители появляются в середине строки, то за ними должны стоять два пробела, чтобы vi их мог распознать.

Вы можете перемещать курсор от предложения к предложению в файле с помощью команд ( - открывающая скобка и ) - закрывающая скобка.

(
перемещает курсор в начало текущего предложения;
n(
перемещает курсор в начало n-го предложения выше текущего предложения;
)
перемещает курсор в начало следующего предложения;
n)
перемещает курсор в начало n-го предложения, следующего за текущим предложением.

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

{
переместить курсор в начало текущего параграфа, который ограничивается пустой строкой;
n{
переместить курсор в начало n-го параграфа, следующего за текущим параграфом;
}
переместить курсор в начало следующего параграфа;
n}
переместить курсор в начало n-го параграфа ниже текущей строки.

Редактор vi предоставляет вам 3 команды, которые позволяют вам позиционировать курсор в окне. Эти команды должны быть введены на верхнем регистре:

H
переместить курсор к первой строке экрана;
M
переместить курсор к средней строке экрана;
L
переместить курсор к последней строке экрана.


next up previous contents index
Next: Позиционирование курсора на неотображаемом Up: Экранный редактор vi Previous: Редактирование текста в командном   Contents   Index
Alex Otwagin 2002-12-16