vi (вимовляється як дві літери, ) — повноекранний текстовий редактор, спочатку створений для операційної системи Unix. Портована підсистема поведінки vi і програм, заснованих на ній, і також мова редактора ex, що підтримується в цих програмах, стандартизована Single UNIX Specification і POSIX.

Назва «vi» походить від скорочення однозначної команди ex visual, яка перемикає редактор рядків ex у повноекранний режим.

Опитування читачів Linux Journal у 2009 році показало, що vi був найпоширенішим текстовим редактором серед респондентів, випередивши gedit, другий за популярністю редактор, майже удвічі (36% проти 19%).

Історія

Історія vi починається в серпні 1969 року в лабораторії AT&T Bell Labs, де Кен Томпсон почав працювати над мінімалістичною системою, що складалася лише з трьох невеликих компонентів: асемблера, оболонки... і простого текстового редактора, відомого як «ed», що (очевидно) є скороченням від «editor» (редактор). який швидко став фактичним текстовим редактором для Unix, залишаючись частиною стандарту POSIX і до цього дня.

З інтерв'ю Білла Джоя для журналу Linux Magazine у 1999 році:

vi є, насправді, попереднього редактора ex. Спочатку ex не мав функціональності редагування у повноекранному режимі, але в 1976 році Білл Джой вдосконалив його, додавши підтримку візуального режиму. Програма була оновлена таким чином, що запускалася у візуальному режимі при запуску за допомогою команди vi, а не у старому режимі при запуску за допомогою команди ex. Таким чином, ex і vi є однією програмою, а не двома. ex 1.1 був випущений як частина першого випуску Berkeley Software Distribution в березні 1978 року. Лише у версії ex 2.0, випущеній як частина Second BSD в травні 1979 року, редактор було встановлено під назвою «vi», що переводило користувача безпосередньо у візуальний режим ex.

Опис Для редагування у vi використовуються спеціальні команди. Також існує декілька режимів редагування: Normal mode, Insert mode, Command mode. У Insert mode редактор вставляє символи набрані на клавіатурі. Перехід у Normal mode виконується за допомогою клавіші <ESC>. У цьому режимі редактор виконує набрані на клавіатурі команди, наприклад: j — перехід вниз l — перехід вправо x — видалення символу w — перехід на початок наступного слова dd — видалення рядка d2d — видалення двох рядків dt( — видалення символів до символу ( dt) — видалення символів до символу) yy — копіювання рядка y2y — копіювання двох рядків p — вставлення попередньо скопійованих або видалених рядків . — повторення команди, виконаної в режимі вставки (insert mode) i — перехід у режим вставки (insert mode) % — перехід на дужку, відповідну до дужки під курсором n — перехід до наступного знайденого результату пошуку

Це надає можливості майже не відривати руки від основної клавіатури щоб рухатись та редагувати текст. Також освоєння потужніших команд може допомогти прискорити редагування текстів. Наприклад: :10,20s/кішка/собака/g — замінити у тексті в рядках з десятого по двадцятий всі слова «кішка» на «собака». :%s/кішка/собака/g — замінити у всьому тексті всі слова «кішка» на «собака». :/кішка — пошук «кішка» з поточної позиції до кінця файлу :?кішка — пошук «кішка» з поточної позиції до початку файлу

Зараз існує декілька модифікацій цього редактора майже під всі операційні системи. Популярними є vim (VI Modified — модификований vi), та gvim — Gui VIM (vim з графічним інтерфейсом користувача).

Див. також bvi

vim

Примітки

Посилання Документація по vi у FreeBSD домашня сторінка Vim Online Більш, ніж стандартний редактор (vi)