2.8 Текстовый редактор Vi

У редактора Vi несколько режимов работы (и в этом состоит его главное отличие от других редакторов):

  • «Командный режим» — перемещение по файлу, стирание текста и другие редактирующие функции, переход в него из любого другого режима <ESC>, иногда 2 раза;
  • «Режим ввода» — ввод текста. Стирание и ввод текста происходит в двух разных режимах;
  • «Режим строчного редактора ED» — более глобальные операции над текстом/файлом/редактором (записать файл, настроить редактор…). Переход в него из командного режима — «:».

Открыть/создать файл

vi mamapapa.txt — открыть один файл.

vi mama.txt papa.txt — открыть файл mama.txt, после выхода из него открыть файл papa.txt.

Файл открывается в командном режиме с помощью команды vi. Здесь  можно просмотреть файл, переместиться по его содержимому, стереть текст, но внести изменения или ввести текст в этом режиме нельзя.

Создание файла происходит при помощи той же команды. Собственно, создание файла происходит в момент сохранения.

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

:e filename

Перед этим нужно сохранить предыдущий файл:

:w — сохраняет файл с существующим именем или

:sav filename — «Сохранить как».

Перемещение по файлу

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

^ или 0 — в начало текущей строки;

$ — в конец текущей строки;

w — на слово вправо;

b — на слово влево.

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

Предположим, в нашем файле записан текст, который необходимо отредактировать. Для этого необходимо перейти в режим ввода. Самый простой способ — из командного режима нажатие клавиши «i». После чего можно приступать к вводу текста. <ESC> вернет нас к командному режиму.

Другие важные команды:

Команда

Описание команды

R,i

переход в режим ввода — замена текста под курсором

I

переход в режим ввода с начала текущей строки

o

переход в режим ввода с новой строки под курсором

O

переход в режим ввода с новой строки над курсором

a

переход в режим ввода после курсора

x

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

X

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

dd

стирание текущей строки

d<число>d

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

yy

копирование текущей строки в неименованный буфер

y<число>у

копирование числа строк начиная с текущей в неименованный буфер

p

вставка строки из неименованного буфера под курсор

P

вставка строки из неименованного буфера над курсором

J

слияние текущей строки со следующей

u

отмена последней команды

.

повтор последней команды

Запись/выход

<ESC>:w<CR> — записать файл

<ESC>:w!<CR> — записать файл

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

<ESC>:w new_file<CR>

Создать новый файл «new_file» и записать в него текущее содержимое. Если файл существует, будет показано предупреждение.

<ECS>:q<CR> — выйти из редактора.

Если файл был изменен, выйти не получится. В таких случаях необходимо добавлять после команды «!»:

<ECS>:q!<CR> — выйти из редактора не сохраняя изменения <ESC>:wq<CR> или <ESC>ZZ<CR> — записать файл и выйти

Коэффициент повторения

Дополнительные команды:

слияние текущей строки со следующей

 

Команда

Описание команды

^G

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

G

перейти в конец файла

<number>G

перейти на конкретную строку <number>

:<number>

перейти на <number> строк вперед

:set nu[mber]

отобразить слева нумерацию строк (:set nonu[mber] — спрятать нумерацию)

:set wrap

переносить длинные строки (:set nowrap — не переносить)

:syntax on/off

включить/выключить подсветку синтаксиса

:colorscheme <name>

задать цветовую тему (где <name> имя темы, TAB работает как авто-дополнение)

/мама

поиск текста «мама» в файле

n

повторить поиск

:h или :help

список возможной помощи (:viusage, :exusage)

:set fileformat=dos

:set fileformat=unix

привести концы строк в файле к виду dos или unix, соответственно

:set ts=4

задать размер табуляции в 4 пробела

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email