# Перевод справочника команд редактора vi из официального учебника Solaris

Нурлан Мухамедьевич Тлеушев

Редактор vi


Редактор vi предназначен для создания и редактирования ascii файлов, например таких, как системные.


Таблица 9-1. Запуск редактора


Команда


Описание


vi

Открыть редактор

vi имя_файла

Редактировать существующий или создать и редактировать новый файл

vi -r имя_файла

Редактирование поврежденного файла

view имя_файла

Открыть файл в редакторе в режиме просмотра

vedit имя_файла

Редактировать существующий или создать и редактировать новый файл с предустановленной опцией set showmode


Таблица 9-2. Команды добавления и вставки текста


Команда


Описание


a

Добавление текста после текущей позиции курсора

A

Добавление текста в конец строки

i

Вставка текста в текущую позицию курсора (insert)

I

Вставка текста в начало строки

o

Вставить строку ниже текущей (сразу переходит и в режим ввода текста)

O

Вставить строку выше текущей (сразу переходит и в режим ввода текста)


Таблица 9-3. Навигация


Команда


Описание


h, стрелка_влево, back_space

Влево

j, стрелка_вниз

Вниз

k, стрелка_вверх

Вверх

l, стрелка_вправо, пробел

Вправо

w

Вперед на одно слово (включая знаки препинания)

W

Вперед на одно слово (не включая знаки препинания)

b

Назад на одно слово (включая знаки препинания)

B

Назад на одно слово (не включая знаки препинания)

e

В конец текущего слова

$

В конец строки

0 (ноль), ^

В начало строки

Return (ввод)

На начало следующей строки

H

Наверх экрана

M

На середину экрана

L

Вниз экрана

Ctrl-f

На одну страницу вниз

Ctrl-d

На пол-экрана вниз

Ctrl-b

На одну страницу вверх

Ctrl-u

На пол-экрана вверх


Таблица 9-4. Команды удаления текста


Команда


Описание


x (маленький)

Удалить текущий символ

X (большой)

Удалить предыдущий символ

dw

Удалить текущее слово

3dw

Удалить 3 слова, начиная с текущего

dd

Удалить текущую строку

3dd

Удалить 3 строки, начиная с текущей

D

Удалить текст справа от курсора до конца строки

dG

Удалить текст до конца файла, начиная от текущей позиции курсора

d1G

Удалить текст до начала файла, начиная от текущей позиции курсора

:5,10d

Удалить строки с 5 по 10, включительно


Таблица 9-5. Команды редактирования


Команда


Описание


cw

Изменить слово

3cw

Изменить 3 слова

R

Режим замещения текста

C

Изменить текст до конца строки, начиная с текущей позиции курсора

r

Заменить текущий символ

i и Return

Разбить строку

J

Склеить текущую строку с по следующей

~

Изменить регистр текущего символа

u

Отменить предыдущее действие (одно)

U

Отменить изменения в текущей строке


Таблица 9-6. Команды работы с буфером памяти


Команда


Описание


yy

Скопировать строку в буфер

Y

Скопировать строку в буфер

p

Вставить из буфера ниже текущей строки

P

Вставить из буфера выше текущей строки

:1,3 co 5

Скопировать сроки с 1 по 3 и вставить их после 5

:4,6 m 8

Переместить сроки с 4 по 6 и вставить их после 8


Таблица 9-7. Сохранение текста и выход


Команда


Описание


:w

Сохранить изменения

:w имя_файла

Сохранить в файл с именем имя_файла и остаться в нем

:wq!

Сохранить и выйти

:q!

Выйти без сохранения


Таблица 9-8. Команды настройки


Команда


Описание


:set

Вывести на экран всех установленных переменных

:set all

Вывести на экран значения всех установленных переменных

:set nu

Пронумеровать строки

:set nonu

Отключить нумерацию строк

:set ic

Отключить разницу между большими и маленькими буквами при поиске/замене

:set noic

Включить разницу между большими и маленькими буквами при поиске/замене

:set list

Показать все символы текста, включая невидимые

:set showmode

Показ текущего режима работы

:set noshowmode

Отключение показа текущего режима работы


Таблица 9-11. Команды поиска и замены


Команда


Описание


/строка

Поиск строки "строка" вперед в тексте

?строка

Поиск строки "строка" назад в тексте

n

Поиск следующего вхождения строки "строка" (вперед)

n

Поиск предыдущего вхождения строки "строка" (назад)

:%s/строка1/строка2/g

Замена по всему тексту строки "строка1" на "строка2"