НАЗВА

vim - удосконалений редактор для програмістів Vi

СТИСЛИЙ ОГЛЯД

vim [опції] [файл ...]
vim [опції] -
vim [опції] -t мітка
vim [опції] -q [файл помилок]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

ОПИС

vim являється обернено-сумісним з ?vi(1) текстовим редактором. Він використовується для редагування звичайних текстових файлів. Особливо корисним є для редагування вихідних текстів програм.

Існує багато покращень в порівнянні з vi: багаторівневе скасування попередніх змін, багатократні вікна і буфери, підсвітка синтаксису, редагування з командного рядка, виповнення назв файлів, убудована допомога, візуальне виділення і.т.д. Подивіться `:help vi_diff_txt' для підсумку відмінностей між vim і vi.

Під час роботи з vim, надзвичайно багато інформації можна отримати з вбудованої допомоги, використайте команду `:help' для цього. Подивіться також розділ ВБУДОВАНА ДОПОМОГА нижче.

Найчастіше, vim розпочато для редагування лишень одного файлу командою

   vim _файл_

Більш узагальнено, сесія vim розпочинається командою

   vim [_опції_] [_список файлів_]

Якщо список файлів відсутній, редактор розпочне роботу з порожнім буфером. У протилежному випадку, один з наступних чотирьох метод може застосовуватись для вказівки файлу або файлів, що необхідно відредагувати:

файл... : Список назв файлів. Перший з них стане поточним файлом і буде зчитано першим у буфер. Курсор розміститься на першому рядку буферу. Ви можете дістатися до наступних файлів командою :next'. Якщо одна з назв файлів містить дефіс, добавте--' перед списком.

- : Файл для редагування зчитуватиметься зі стандартного вводу. Команди - зі стандартного пристрою помилки, що повинно бути одним з терміналів (tty).

-t мітка : Файл до редагування і позиція курсору залежні від мітки, своєрідної "goto" позначки. Пошук мітки здійснюється по файлу міток. Асоційований з міткою файл стає поточним файлом і буде виконано асоційовану команду. Головним чином, це використовується для програм C, де мітка може бути назвою якоїсь функції. Як ефект: файл, що містить цю функцію стане поточним файлом і курсор переміститься на початок функції. Дивіться `:help tag-commands'.

-q [файл помилок] : Розпочати роботу у стані швидкого відлагодження (quickFix). Файл помилок зчитується і перша знайдену там помилку буде виведено. Якщо аргумент файл помилок опускається, його назву буде взято з опції 'errorfile' файлу конфігурації (за замовчуванням використовується "AztecC.Err" для Amiga або "errors.err" на решті систем). Наступні помилки можна переглянути з допомогою команди :cn'. Дивіться також:help quick-fix'.

vim поводиться інакше, в залежності від того як його було викликано з командного рядка (хоча виконуваний файл може бути одним і тим самим).

vim : "Нормальний" редактор. Всі властивості стандартні.

ex : Режим ex. Ви можете перейти до звичайного стану командою :vi'. Ex-режиму можна також добитися за допомогою аргументу командного рядка-e'.

view : Розпочати у стані "тільки для читання". Це захистить від запису до файлу. Можна також досягти завдяки опції командного рядка `-R'.

gvim gview : Графічна версія vim і view. Відкриває нове вікно. Працює лише з Віконним Середовищем X. Можна також досягти за допомогою опції командного рядка `-g'.

evim eview : Графічна версія "полегшеного редагування". Працює лише з Віконним Середовищем X. Можна також досягти за допомогою опції командного рядка `-y'.

rvim rview rgvim rgview : Те саме, що й розглянуті вище опції, але з обмеженнями. Внеможливлює команди оболонки або призупинку vim. Можна добитись також за допомогою опції командного рядка `-Z'.

ОПЦІЇ

Опції командного рядка можна вказувати у будь-якій послідовності, до і після назв файлів. Опції без аргументів можна складати разом із єдиною горизонтальною рискою.

+[номер] : При завантаженні першого файлу, курсор розміститься на вказаному номері рядка. Якщо аргумент номер опущено, курсор переміститься на останній рядок тексту.

+/шаблон : При завантаженні першого файлу, курсор розміститься на першому знайденому рядку, що співпаде із заданим шаблоном. Дивіться `:help search-pattern', щоб взнати про можливі шаблони для пошуку по тексту.

+команда :

   vim "+set si" main.c

-c команда : Командa, яку буде виконано після прочитання першого файлу. Команда розглядатиметься як одна з команд ex. Якщо команда містить пробіли, її потрібно включити у подвійні лапки (це також залежить від використовуваної оболонки). Наприклад:

Зауваження: ви можете використати до 10 команд з "+" або "-c".

-S файл : Файл буде зчитано як джерельний після завантаження першого файлу до редагування. Це тотожно опції `-c "souce файл". Назва файлу не може розпочинатися з '-'. Якщо аргумент файл опущено, використовуватиметься Session.vim (працює лише коли -S є останнім аргументом).

--cmd команда : Схоже до використання -c', але _команду_ буде виконано до того як обробити будь-які файли типу _vimrc ._ Ви можете використати до 10 цих команд, незалежно від вказаних опцією-c'.

-A : Якщо vim компільовано з підтримкою арабської мови із можливістю редагувати зправа-наліво і арабською розкладкою клавіатури, ця опція розпочне vim у "арабському режимі", тобто буде встановлено 'arabic'. У протилежному випадку, з'явиться помилка і vim аварійно завершиться.

-b : Бінарний режим. Встановляться декілька опції, які дозволять редагування бінарних або виконуваних файлів.

-C : Сумісний режим. Встановлює опцію 'compatible'. Це заставить vim поводитись схоже до vi, навіть при існуванні файлу .vimrc.

-d : Розпочати у режимі diff (відмінностей). Необхідно вказати щонайменше два файли як аргумент. vim відкриє всі файли і вкаже на відмінності між ними. Це працює так само як ?vimdiff(1).

-d прилад : Відкриє прилад для використання у якості терміналу. Ця опція працює тільки на Amiga. Наприклад: `-d con:20/30/600/150'.

-D : Відлагодження. Переходить у стан відлагодження під час виконання першої команди зі скрипту.

-e : Розпочати vim у режимі ex, так ніби його було викликано як `ex'.

-E : Розпочати vim у режимі покращеного ex, так ніби його було викликано як `exim'.

-f : Пріоритетний режим. Для графічної версії. vim не відгалузиться і відокремиться від оболонки, як звичайно. На Amiga, vim не перезапуститься для відкриття нового вікна. Цю опцію зручно використовувати з програмами, що чекатимуть, доки редагувальна сесія завершиться (наприклад ?mail(1)). На Amiga, команди :sh' й:!' не працюють.

--nofork : Пріоритетний режим. Для графічної версії. vim не відгалузиться і відокремиться від оболонки, як звичайно.

-F : Якщо vim компільовано з підтримкою FKMAP, для редагування тексту зправа-наліво, і розкладкою клавіатури Farsi, ця опція розпочне vim у режимі Farsi, тобто зі встановленими опціями 'fkmap' і 'rightleft'. У протилежному випадку, з'явиться повідомлення про помилку і vim припинить роботу.

-g : Якщо vim компільовано з підтримкою графічного середовища, ця опція відкриє графічне вікно редактора. У протилежному випадку, з'явиться повідомлення про помилку і vim припинить роботу.

-h : Надасть коротку допомогу по опціям і аргументам командного рядка. Після цього редактор припинить роботу.

-H : Якщо vim компільовано з підтримкою RIGHTLEFT для редагування зправа-наліво і гебрайскою розкладкою клавіатури, ця опція розпочне vim у гебрайському (Hebrew) режимі, тобто 'hkmap' і 'rightleft' буде встановлено. У протилежному випадку, з'явиться повідомлення про помилку і vim припинить роботу.

-i viminfo : Якщо включене використання viminfo-файлу, ця опція вказує, який саме файл використати, замість стандартного ~/.viminfo. Також можна використати для вимкнення вживання файлу .viminfo, якщо вказати "NONE".

-L : Тотожно -r.

-l : Lisp-режим. Вмикає опції 'lisp' і 'showmatch'.

-m : Унеможливлює зміну файлів. Перезаладовує опцію 'write'. Незважаючи на те, що ви все ще можете змінювати буфер, запис до файлу неможливий.

-M : Зміну файлів заборонено. Опції 'modifiable' і 'write' обнулено, тож зміни не дозволяються і до файлів неможливо записати.

-N : Несумісний режим. Перезаладовує опцію 'compatible'. Це зробить поводження vim приємнішим, але менш сумісним з vi, навіть якщо файлу vimrc не існуватиме.

-n : Не використовувати своп-файлу. Відновлення після аварійного завершення роботи неможливе. Зручно для редагування файлів на надзвичайно повільних пристроях, скажімо гнучких дисках. Можна також добитись командою :set uc=0' і скасувати командою:set uc=200'.

-nb : Розпочне vim як сервер редагування для NetBeans. Дивіться документацію для деталей.

-o[N] : Відкриє N вікон у наборі, розділених вертикально. Якщо N пропустити, відкриє по одному вікну для кожного файлу.

-O[N] : Відкриє N вікон, розділених горизонтально. Якщо N пропустити, відкриє по одному вікну для кожного файлу.

-R : Режим "тільки для читання". Вмикає опцію 'readonly'. Ви все ще можете редагувати буфер, але цей режим запобігатиме випадкового перезапису файлу. Якщо ж вам конче записати до файлу, додайте знак оклику до команди запису ex типу, :w!'. Прапорець -R також неявно вмикає також -n (дивіться нижче). Опцію 'readonly' можна скасувати командою:set noro'. Дивіться `:help readonly'.

-r : Виведе перелік своп-файлів разом з інформацією про їхнє використання для відновлення даних.

-r своп-файл : Режим відновлення. Буде використано своп-файл для відновлення аварійно завершеної сесії редагування. Назва своп-файлу, як правило, співпадає з назвою оригіналу, лише із закінченням ".swp". Дивіться `:help recovery'.

-s : Небагатослівний режим (англ. silent). Тільки при використанні як ex або коли надано також опцію `-e'.

-s файл-скрипт : Буде прочитано файл-скрипт. Знаки цього файлу буде інтерпретовано так, ніби ви ввели їх з клавіатури. Те саме можна здійснити командою `:source файл-скрипт'. Якщо буде досягнуто кінця файлу до того, як редактор завершить свою роботу, подальші знаки читатимуться з клавіатури.

-T термінал : Вказує vim назву терміналу, який ви використовуєте. Потрібне лише у випадку, коли автоматичне виявлення не спрацьовує. Термінал повинен бути відомим редактору vim (вбудовані типи терміналів) або одним з описаних у файлі termcap або terminfo.

-u vimrc-файл : Використає команди зі вказаного вами vimrc-файлу для ініціалізації. Будь-які інші файли ініціалізації не беруться до уваги. Можете використовувати це для редагування якихось спеціальних файлів. Також можна уникнути зчитування файлів ініціалізації, якщо вказати як назву "NONE". Дивіться `:help initialization'.

-U gvimrc-файл : Використає команди зі вказаного gvimrc-файлу для ініціалізації графічного інтерфейсу редактору. Будь-які інші файли ініціалізації графічного інтерфейсу не беруться до уваги. Також можна уникнути зчитування файлів ініціалізації, якщо вказати як назву "NONE". Дивіться `:help gui-init'.

-V[N] : Багатослівний режим. Виводить інформацію про те, які файли зчитано як джерельні для прочитання і запису файлу viminfo. Необов'язкове число N являється показником багатослівності. Стандартним значенням є 10.

-v : Розпочне vim у vi-стані, так ніби виконуваний файл називався "vi". Це діє лише коли програму було викликано як ex.

-w журнальний файл : Всі знаки, введені вами, буде збережено у журнальному файлі до тих пір, доки ви покинете vim.

-x : Використання шифрування для запису файлів. Спитає шифрувального ключа.

-X : Не сполучатися з X-сервером. Скорочує час запуску програми у терміналу, але заголовок вікна і clipboard не працюватимуть.

-y : Розпочне vim у режимі полегшеного редагування, так ніби його викликано як evim чи eview. Поводження vim стає подібним до "клацни і друкуй" редакторів.

-Z : Обмежувальний режим. Працює як rvim.

-- : Вказує на кінець опцій. Аргументи командного рядка після вважатимуться назвами файлів. Може використовуватись для редагування файлів, чия назва починається з '-'.

--echo-wid : Тільки для графічного інтерфейсу GTK: виводить ідентифікаційний номер вікна на стандартний пристрій виводу.

--help : Виводить допомогу. Тотожно прапорцю `-h'.

--literal : Сприйме назви файлів буквально, без розкриття байдужих знаків. Не використовується на Unix, оскільки байдужі знаки розкриває оболонка.

--noplugin : Не завантажувати модулі. Те саме, що й `-u NONE'.

--remote : Долучитися до vim-серверу і редагувати з його допомогою файли, вказаних як решта аргументів. Якщо серверу не знайдено, з'явиться повідомлення про помилку і файли буде редаговано у поточному редакторові vim.

--remote-expr вираз : Долучитися до vim-серверу, оцінити вираз там і видати результат на стандартному пристрої виводу.

--remote-send ключі : Схоже до --remote, але без повідомлення про помилку у випадку не знайденого серверу.

--remote-wait : Схоже до --remote, але vim не припинить роботу доти, доки файли не буде відредаговано.

--remote-wait-silent : Схоже до --remote-wait, але без повідомлення про помилки у випадку не знайденого серверу.

--serverlist : Перелічить назви всіх vim-серверів, які було знайдено.

--servername назва : Використати дану назву серверу. Використовується з поточним .BР vim , хіба було надано аргумент --remote, в такому випадку, це назва серверу для під'єднання.

--socketid ID : Тільки для графічного інтерфейсу GTK: використає механізм GtkPlug для запуску gvim у відмінному вікні.

--version : Виведе інформацію про версію програми.

ВБУДОВАНА ДОПОМОГА

Введіть :help', знаходячись у **vim**. Щоб отримати допомогу по певній темі, введіть:help тема', наприклад :help ZZ', щоб дізнатися більше про командуZZ'. Скористайтеся і CTRL-D для виповнення тем (дивіться :help cmdline-completion'). Мітки використовуються для пересування з одного місця в інше (схоже до посилань гайпертексту, дивіться:help'). Таким чином можна переглянути всі файли документації, наприклад `:help syntax.txt'.

ФАЙЛИ

/usr/share/vim/vim63/doc/*.txt : Файли документації vim. Скористайтеся `:help doc-file-list', щоб отримати повний список.

/usr/share/vim/vim63/doc/tags : Файл міток для знаходження інформації з файлів документації.

/usr/share/vim/vim63/syntax/syntax.vim : Системний файл ініціалізації підсвітки синтаксису.

/usr/share/vim/vim63/syntax/*.vim : Файли ініціалізації підсвітки синтаксису для різноманітних мов.

/usr/share/vim/vimrc : Системний файл ініціалізації vim.

/usr/share/vim/gvimrc : Системний файл ініціалізації gvim.

/usr/share/vim/vim63/optwin.vim : Скрипт, що використовується для команди `:options'. Зручний спосіб перегляду і встановлення різних опцій.

/usr/share/vim/vim63/menu.vim : Системний файл ініціалізації меню gvim.

/usr/share/vim/vim63/bugreport.vim : Скрипт для генерування повідомлення про вади. Дивіться `:help bugs'.

/usr/share/vim/vim63/filetype.vim : Скрипт для виявлення типу файлу за його назвою. Дивіться `:help filetype'.

/usr/share/vim/vim63/scripts.vim : Скрипт для виявлення типу файлу за його вмістом. Дивіться `:help filetype'.

/usr/share/vim/vim63/*.ps : Файли, які використовуються для видруку за допомогою PostScript.

Найостаннішу інформацію ви знайдете на домашній сторінці VIM:
<http://www.vim.org/>

ДИВІТЬСЯ ТАКОЖ

?vimtutor(1)

АВТОР

Більшість vim було написано Bram Moolenaar з допомогою інших. Дивіться `:help credits'. Сам редактор vim оснований на stevie, написаному Tim Thompson, Tony Andrews й G.R. (Fred) Walter. Хоча, дуже мало з оригінального коду збереглося у vim.

ВАДИ

Можливо є певні. Дивіться `:help todo' для списку можливих недоліків.

Майте на увазі, що дуже багато речей, які можуть вважатися декотрими недоліками, насправді являються результатом щонайточнішого відтворення поводження vi. Але, якщо ви вважаєте деякі речі вадами "оскільки у vi це робиться інакше", вам слід переглянути краще vi_diff.txt (введіть `:help vi_diff.txt', знаходячись у vim). Можете також подивитися теми 'compatible' і 'cpoptions'.