Скачиваний:
14
Добавлен:
09.05.2014
Размер:
46.08 Кб
Скачать

Краткое описание vi (vim).

Vi может находиться в режиме команд, в котором редактор находится сразу после запуска, или в режиме ввода текста.

Режим ввода текста:

a - добавить текст после курсора.

i - вставить текст перед курсором.

A - добавить текст в конец текущей строки.

o - начать новую строку под курсором.

O - начать новую строку над курсором.

Для переключения в режим команд достаточно нажать клавишу <escape>.

Вы можете выполнить команду ":set verbose showmode", тогда в строке статуса будет отображаться режим, в котором находится редактор vi.

Команды перемещения курсора:

Ctrl-H

[число]h - влево на число символов.

H - в начало экрана

M - в середину экрана

L - в конец экрана

[число]пробел или [число]l - направо на число символов.

[число]Ctrl-J или [число]Ctrl-N или [число]j - вниз на число строк.

[число]Ctrl-P или [число]k - наверх на число строк с сохранением позиции в строке

[число]Ctrl-U - "прокрутить" экран наверх на число строк

w - вперёд на начало следующего слова

e - вперёд на конец следующего слова

E - вперёд на конец ближайшей непробельной последовательности символов

b - назад на начало предыдущего слова

B - назад на начало ближайшей непробельной последовательности символов

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

0 - в начало строки

^ - на первый непробельный символ строки

) - вперёд на одну фразу

( - назад на одну фразу

} - вперёд на один параграф

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

[число]Ctrl-F - вперёд на число экранов.

[число]Ctrl-B - назад на число экранов.

[число]Ctrl-D - прокрутить вперёд на число строк.

[число]Ctrl-E - прокрутить вперёд на число строк сохранив, если возможно, положение курсора.

[число] + - переместить вперёд на заданное число строк на первый непробельный символ.

:[число] - переместить курсор в начало заданной строки

Команды удаления текста.

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

D - удаление с текущей позиции до конца строки.

d$ - удаление до конца строки

d0 - удаление от начала строки

d} - удаление до конца параграфа

dw - удалить до конца слова

d% - удалить до парной скобки

dG - удалить до конца файла

dgg - удалить от начала файла до текущей позиции (Vim)

dd - удаление целой строки

x - удаление символа под курсором

X - удаление символа слева от курсора

Команды поиска.

/sometext - поиск "sometext".

?sometext - обратный поиск "sometext".

n - найти следующее совпадение.

Ctrl-A - найти далее в тексте слово, на котором стоит курсор.

Т.к. для поиска в качестве шаблона задаётся регулярное выражение, то необходимо экранировать следующие символы: [ ] . * ^ % \ / ? ~ $

Можно использовать команды ":set ignorecase" для включения регистронезависимого поиска и ":set noignorecase" для его выключения.

Команды замены. (Поиск с заменой.)

r - замена одного символа, на котором стоит курсор

C - замена текста с позиции курсора до конца строки

[число] c <символ перемещеня> - замена заданного региона

[range] s[ubstitute] [/pattern/replace/] [options] [count] [flags]

range - диапазон строк, в котором необходимо произвести замену. Можно использовать следующие обозначения: % - весь текст, . - текущая строка, число - номер строки, $ - последняя строка. Можно указать через запятую два параметра. Например "., $" - произвести замену начиная с текущей строки до конца текста. Если range на задан, замена производится в текущей строке.

count - количество замен, которые надо сделать. Если не задано, производится одна замена.

flags:

c - подтверждать каждую замену

g - заменить все найденные слова

i - игнорировать регистр

& - повторить последнюю команду замены для текущей строки

[range]! - заменить заданную строку результатом работы shell-команды

Команды сохранения файла.

:w - сохранить открытый файл с тем же именем, с которым он был открыт.

:w file_name- сохранить файл с именем "file_name".

Команды выхода из редактора.

:q - выйти их редактора. Если изменённый текст не был сохранён, vi откажется завершать работу.

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

Команды редактора.

ZZ - выход из редактора с сохранением

y - копирование во временный буфер. второй символ перемещения курсора определяет сколько копировать. Например: y) - копировать до конца фразы.

Y - копировать всю строку

p - вставить содержимое временного буфера после курсора.

P - вставить содержимое временного буфера перед курсором.

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

Ctrl-G - показать информацию о файле.

Ctrl-L или Ctrl-R - перерисовать экран.

[число]Ctrl-Y - "прокрутить" вниз экран на число строк, сохранив, по возможности, положение курсора в тексте.

Ctrl-Z - приостановить (suspend) выполнение редактора.

ESC - выполнить ex команду или отменить недонабранную команду или выйти из режима ввода текста.

Команды работы с буферами.

При удалении (команды d, x) или замене (команды r, c и т.п.) текста, удалённый текст помещается во временный буфер. Также поместить текст во временный буфер можно командой y. Команда p или P вставляет содержимое буфера в редактируемый документ.

Окна.

Ctrl-W - переключиться в следующее окно или на первое, если текущее окно последнее.

Ctrl-^ - переключиться в предыдущий файл.

Примеры:

Открываем командный интерпретатор и вводим “vi”.

По умолчанию редактор находится в режиме команд, поэтому чтобы приступить к вводу текста нам нужно перейти в режим ввода текста.

Нажмем клавишу “a” и введем текст, скажем “I try to learn how to use vi”?

Получаем:

I try to learn how to use vi

Нажмем “Esc” для выхода из режима ввода и “o” для ввода новой строки и введем “ This is second string”.

Аналогично введем 3 строку “This is third string”.

Получаем:

I try to learn how to use vi

This is second string

This is third string

Надеюсь, принцип работы с режимом ввода текста ясен.

Для перехода из режима ввода нажмем “Esc”, курсор находится в конце 3 строки. Нажмем “0” для перемещения курсора в начало строки. Далее удалим эту строку нажав “d$”. С этого момента 3 строка находится во временном буфере.

Получаем:

I try to learn how to use vi

This is second string

Командой “:2” переместим курсор в начало 2 строки и вставим текст из буфера нажатием “P”.

Получаем:

I try to learn how to use vi

This is third string This is second string

Заменим пробел между словом “string” и “This” на символ “X” для этого наведем на пробел курсор(любым способом) и нажмем “r” и затем “X”.

Получаем:

I try to learn how to use vi

This is third stringXThis is second string

Пришло время сохранить наш файл для этого введем: “:w first_use”.

Закроем редактор командой “:q”.

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