blob: 78127a1ccb70ac230ba5d8f9e2f39600cbca12a1 [file] [log] [blame]
Bram Moolenaar2e4096b2005-03-20 22:25:45 +00001.TH VIM 1 "2002 Feb 22"
2.SH ИМЯ
3vim \- Vi IMproved (Улучшенный Vi), текстовый редактор для программистов
4.SH КОМАНДНАЯ СТРОКА
5.br
6.B vim
7[ключи] [файл ..]
8.br
9.B vim
10[ключи] -
11.br
12.B vim
13[ключи] \-t метка
14.br
15.B vim
16[ключи] \-q [файл ошибок]
17.PP
18.br
19.B ex
20.br
21.B view
22.br
23.B gvim
24.B gview
25.br
26.B rvim
27.B rview
28.B rgvim
29.B rgview
30.SH ОПИСАНИЕ
31.B Vim
32-- текстовый редактор, обратно-совместимый с Vi.
33Он может быть использован для правки всех видов простого текста.
34Особенно он хорош для правки исходных текстов программ.
35.PP
36По сравнению с Vi,
37.B Vim
38имеет много усовершенствований: многократная отмена операций,
39множественность окон и буферов, подсветка синтаксиса, правка командной строки,
40автодополнение имён файлов, встроенная справка, визуальное выделение и т.п.
41См. ":help vi_diff.txt" для получения полного списка различий между
42.B Vim
43и Vi.
44.PP
45Во время работы в
46.B Vim
47можно получить справку с помощью системы встроенной справки (команда ":help").
48См. раздел "ВСТРОЕННАЯ СПРАВКА" ниже по тексту.
49.PP
50Чаще всего
51.B Vim
52запускают для правки одного файла при помощи команды
53.PP
54 vim файл
55.PP
56В общем виде команда запуска
57.B Vim
58выглядит так:
59.PP
60 vim [ключи] [список файлов]
61.PP
62Если список файлов отсутствует, редактор начнёт работу с пустым буфером.
63В противном случае имя файла должно быть указано одним из следующих четырёх способов:
64.TP 12
65файл ..
66Список имён файлов.
67Первый файл будет объявлен активным и загружен в буфер. Курсор будет помещён
68в первой строке буфера. Доступ к другим файлам может быть осуществлён при
69помощи команды ":next". Чтобы править файл, имя которого начинается с символа
70"дефис" (-), перед списком файлов необходимо поставить "--".
71.TP
72-
73Файл будет прочитан из потока стандартного ввода. Команды будут считываться
74из стандартного потока диагностики (stderr), который должен быть
75терминалом.
76.TP
77-t {метка}
78Имя файла и начальная позиция курсора зависят от "метки", похожей на метку goto.
79{метка} ищется в файле меток, соответствующий файл становится активным, а
80соответствующая команда исполняется.
81Чаще всего используется в программах на языке Си, где {метка} может быть именем
82функции.
83Файл, содержащий функцию, становится активным, а курсор помещается в начало функции.
84См. ":help tag-commands".
85.TP
86-q [файл ошибок]
87Начать работу в режиме быстрого исправления.
88При этом считывается [файл ошибок] и первая ошибка выводится на экран.
89Если [файл ошибок] не указан, имя файла берётся из значения опции 'errorfile'
90(по умолчанию: "AztecC.Err" для Amiga, "errors.err" для других систем).
91К следующим ошибкам можно перейти по команде ":cn".
92См. ":help quickfix".
93.PP
94.B Vim
95ведёт себя по-разному в зависимости от имени команды (исполняемый файл может
96быть одним и тем же).
97.TP 10
98vim
99"Нормальный" запуск, всё по умолчанию.
100.TP
101ex
102Запуск в режиме Ex. Для перехода в нормальный режим
103необходимо выполнить команду ":vi". Режим Ex включает
104также ключ "-e".
105.TP
106view
107Запуск в режиме "только для чтения". Вы будете защищены от случайной записи
108файла. То же самое можно сделать ключом "-R".
109.TP
110gvim gview
111Версия с графическим интерфейсом. Запускается в новом окне.
112То же самое можно сделать при запуске с ключом "-g".
113.TP
114rvim rview rgvim rgview
115Как и предыдущие команды, но с ограничениями. Нельзя запускать команды оболочки
116или приостанавливать работу
117.B Vim.
118Вместо приставки "r" можно использовать ключ "-Z".
119.SH КЛЮЧИ
120Ключи могут быть указаны в любом порядке, до или после имён
121файлов. Ключи без аргументов могут быть объединены под одним
122дефисом.
123.TP 12
124+[номер]
125В первом файле курсор будет помещён на строку с указанным номером.
126Если "номер" не указан, курсор будет помещён на последнюю строку.
127.TP
128+/{шаблон}
129В первом файле курсор будет помещён на место первого совпадения
130с указанным шаблоном. См. ":help search-pattern" для получения
131списка допустимых шаблонов.
132.TP
133+{команда}
134.TP
135-c {команда}
136{команда} исполняется после загрузки первого файла как команда Ex.
137Если {команда} содержит пробелы, то она должна быть заключена в
138двойные кавычки зависимости от используемой оболочки).
139Пример: vim "+set si" main.c
140.br
141Примечание: Можно указывать до десяти команд "+" или "-c".
142.TP
143--cmd {команда}
144Как "-c", но команда исполняется перед обработкой любого файла
145настроек (vimrc).
146Можно указывать до десяти таких команд, независимо от количества
147команд "-c".
148.TP
149-A
150Если
151.B Vim
152был собран с поддержкой арабского языка для правки файлов,
153набранных справа налево, и с поддержкой арабской клавиатуры,
154этот ключ запускает
155.B Vim
156в арабском режиме, с включенной опцией 'arabic'. В противном
157случае
158.B Vim
159завершает работу с ошибкой.
160.TP
161-b
162Двоичный режим.
163Производится настройка некоторых опций, делающих возможной правку
164двоичного или исполняемого файла.
165.TP
166-C
167Режим совместимости. Включает опцию 'compatible'.
168.B Vim
169будет работать почти как Vi, даже если существует файл .vimrc.
170.TP
171-d
172Режим поиска различий.
173Должно быть указано два или три имени файла.
174.B Vim
175откроет все файлы и покажет различия между ними
176(как vimdiff(1)).
177.TP
178-d {устройство}
179Открыть {устройство} для использования в качестве терминала (только на Amiga).
180Пример:
181"\-d con:20/30/600/150".
182.TP
183-e
184Запустить
185.B Vim
186в режиме Ex, как будто исполняемый файл имеет имя "ex".
187.TP
188-f
189Режим активного приложения. Версия
190.B Vim
191с графическим интерфейсом не будет ветвиться и отключаться
192от запустившей её оболочки. На платформе Amiga
193.B Vim
194не будет создавать новое окно. Этот ключ нужно использовать,
195когда
196.B Vim
197запускается программой, которая должна ждать завершения
198сеанса правки (например, программа для работы с электронной почтой).
199На платформе Amiga команды ":sh" и ":!" не будут работать.
200.TP
201--nofork
202Режим активного приложения. Версия
203.B Vim
204с графическим интерфейсом не будет ветвиться и отключаться
205от запустившей её оболочки.
206.TP
207-F
208Если
209.B Vim
210был собран с поддержкой FKMAP для правки текста справа налево
211и настроек клавиатуры для языка фарси, этот ключ запускает
212.B Vim
213в режиме фарси, иначе говоря, с включёнными опциями
214'fkmap' и 'rightleft'.
215В противном случае
216.B Vim
217завершает работу с сообщением об ошибке.
218.TP
219-g
220Если
221.B Vim
222был собран с поддержкой графического интерфейса, этот ключ
223включает графический интерфейс. В противном случае
224.B Vim
225завершает работу с сообщением об ошибке.
226.TP
227-h
228Выводит краткую информацию об аргументах и ключах командной строки.
229После этого
230.B Vim
231завершает работу.
232.TP
233-H
234Если
235.B Vim
236был собран с поддержкой правки текста справа налево
237и настроек клавиатуры для иврита, этот ключ запускает
238.B Vim
239в режиме иврита, иначе говоря, с включёнными опциями 'hkmap' и 'rightleft'.
240В противном случае
241.B Vim
242завершает работу с сообщением об ошибке.
243.TP
244-i {viminfo}
245Если используется файл viminfo, то этот ключ задаёт имя такого файла (вместо
246"~/.viminfo" по умолчанию). Можно также избежать использования файла viminfo
247путём указания имени "NONE".
248.TP
249-L
250То же, что и -r.
251.TP
252-l
253Режим Lisp. Включаются опции 'lisp' и 'showmatch'.
254.TP
255-m
256Изменение файлов запрещено. При этом отключается опция 'write', поэтому
257запись файлов становится невозможной.
258.TP
259-N
260Режим неполной совместимости. Отключается 'compatible'.
261.B Vim
262будет работать лучше, но не будет полностью совместим с Vi, даже если
263отсутствует файл сценария настроек (.vimrc).
264.TP
265-n
266Не использовать своп-файл. Восстановление при сбое в работе будет невозможно.
267Удобно для правки файла на очень медленном носителе (например, гибком диске).
268То же самое можно сделать командой ":set uc=0". Отмена -- ":set uc=200".
269.TP
270-o[N]
271Открыть N окон, разделённых по горизонтали. Если N не указано, то открывается
272по одному окну на каждый файл.
273.TP
274-O[N]
275Открыть N окон, разделённых по вертикали. Если N не указано, то открывается
276по одному окну на каждый файл.
277.TP
278-R
279Режим "только для чтения". Включается опция 'readonly'.
280Файл в буфере доступен для редактирования, но его копию на диске нельзя
281случайно перезаписать. Для сохранения файла необходимо добавить восклицательный
282знак к соответствующей команде Ex (например, ":w!").
283Ключ "-R" подразумевает также, что используется и ключ "-n" (см. выше).
284Опция 'readonly' может быть выключена по команде ":set noro".
285См. ":help 'readonly'".
286.TP
287-r
288Вывести список своп-файлов и информацию об их использовании для восстановления после сбоя.
289.TP
290-r {файл}
291Режим восстановления.
292Для восстановления после сбоя будет использован своп-файл.
293Своп-файл имеет то же имя, что и текстовый файл, но с добавлением расширения ".swp".
294См. ":help recovery".
295.TP
296-s
297Тихий режим. Только при запуске как "Ex" или если перед "-s" указан ключ "-e".
298.TP
299-s {scriptin}
300Считывается файл сценария {scriptin}. При этом, содержимое файла воспринимается
301в виде команд, как если бы они были набраны на консоли.
302То же самое достигается командой ":source! {scriptin}".
303Если конец файла считывается до завершения работы редактора, то в дальнейшем
304ввод осуществляется с клавиатуры.
305.TP
306-T {terminal}
307Сообщает
308.B Vim
309тип используемого терминала. Необходимо только в тех ситуациях, когда
310автоматическое определение терминала не работает. Имя терминала должно быть
311известно
312.B Vim
313(встроено в него) или определено в файлах termcap или terminfo.
314.TP
315-u {vimrc}
316Использовать команды из файла сценария {vimrc} для настройки.
317Все остальные файлы настроек пропускаются.
318Удобно для редактирования специальных типов файлов.
319Чтобы избежать использования сценариев настроек вообще, можно использовать
320имя "NONE". См. ":help initialization".
321.TP
322-U {gvimrc}
323Использовать команды из файла сценария {gvimrc} для настройки графического
324интерфейса.
325Все остальные файлы настроек для графического интерфейса пропускаются.
326Чтобы избежать использования сценариев настроек графического интерфейса вообще,
327можно использовать имя "NONE". См. ":help gui-init".
328.TP
329-V
330"Болтливый" режим. Выводить сообщения о том, какие файлы читаются, и о
331чтении-записи файла viminfo.
332.TP
333-v
334Запустить
335.B Vim
336в режиме Vi, как будто исполняемый файл имеет имя "vi". Имеет смысл только если
337исполняемый файл имеет имя "ex".
338.TP
339-w {scriptout}
340Все символы, введённые с клавиатуры вплоть до момента завершения работы,
341записываются в файл {scriptout}.
342Удобно в том случае, когда вы хотите создать файл сценария для последующего
343использования с "vim -s" или ":source!". Если файл {scriptout} уже существует,
344то новые символы будут добавляются в конец файла.
345.TP
346-W {scriptout}
347Как "-w", но уже существующий файл будет перезаписан.
348.TP
349-x
350Шифровать записываемые файлы. Будет выдано приглашение ввести пароль.
351.TP
352-X
353Не подключаться к X-серверу. Ускоряет загрузку на консоли, но делает невозможным
354использование заголовка окна и буфера обмена.
355.TP
356-Z
357Ограниченный режим. Работает так же, как и программы, начинающиеся с "r".
358.TP
359--
360Конец ключей. Все остальные аргументы рассматриваются как имена файлов.
361Может быть использовано для правки файлов, имена которых начинаются с дефиса.
362.TP
363--help
364Вывести краткую справку и завершить работу. То же, что и "-h".
365.TP
366--version
367Вывести информацию о версии программы и завершить работу.
368.TP
369--remote
370Подключиться к серверу Vim и заставить его править файлы, указанные в
371последующих аргументах. Если сервер не найден, выводится предупреждение,
372а файлы правятся в местной копии Vim.
373.TP
374--remote-expr {выражение}
375Подключиться к серверу Vim и вычислить на нём указанное {выражение}.
376Результат вычисления будет выведен в поток стандартного вывода (stdout).
377.TP
378--remote-send {ключи}
379Подключиться к серверу Vim и передать ему указанные {ключи}.
380.TP
381--remote-silent
382Как "--remote", но без вывода предупреждения, если сервер не найден.
383.TP
384--remote-wait
385Как "--remote", но Vim не будет завершать работу до тех пор, пока не будет
386выполнена правка всех файлов.
387.TP
388--remote-wait-silent
389Как "--remote-wait", но без вывода предупреждения, если сервер не найден.
390.TP
391--serverlist
392Вывести список всех доступных серверов Vim.
393.TP
394--servername {имя}
395Использовать указанное {имя} в качестве имени сервера. Если ключ
396"--remote" не указан, то {имя} присваивается данной копии Vim,
397в противном случае указывает на имя сервера, к которому следует
398подключиться.
399.TP
400--socketid {id}
401Только для графического интерфейса GTK: использовать механизм GtkPlug для
402запуска gvim в отдельном окне.
403.TP
404--echo-wid
405Только для графического интерфейса GTK: вывести идентификатор окна (Window ID)
406в поток стандартного вывода (stdout).
407.SH ВСТРОЕННАЯ СПРАВКА
408Для начала, наберите команду ":help".
409Введите ":help тема", чтобы получить справку по конкретной теме.
410Например, команда ":help ZZ" выведет информацию о команде "ZZ".
411Используйте <Tab> и CTRL-D для автоматического дополнения
412названий тем (":help cmdline-completion").
413Для быстрого перемещения по справочнику используются метки (что-то
414вроде гипертекстовых ссылок, см. ":help"). Таким образом можно
415просматривать все файлы справки, например ":help syntax.txt".
416.SH ФАЙЛЫ
417.TP 15
418/usr/local/lib/vim/doc/*.txt
419Файлы справочника
420.B Vim.
421См. ":help doc-file-list" для получения полного списка.
422.TP
423/usr/local/lib/vim/doc/tags
424Файл меток, используемый для поиска информации в файлах справки.
425.TP
426/usr/local/lib/vim/syntax/syntax.vim
427Системные настройки синтаксиса.
428.TP
429/usr/local/lib/vim/syntax/*.vim
430Файлы синтаксиса для разных языков.
431.TP
432/usr/local/lib/vim/vimrc
433Системные настройки
434.B Vim.
435.TP
436/usr/local/lib/vim/gvimrc
437Системный настройки графического интерфейса.
438.TP
439/usr/local/lib/vim/optwin.vim
440Сценарий, используемый при выполнении команды ":options".
441Хороший способ просматривать и изменять настройки.
442.TP
443/usr/local/lib/vim/menu.vim
444Системные настройки меню для gvim.
445.TP
446/usr/local/lib/vim/bugreport.vim
447Сценарий для создания отчёта об обнаруженных глюках. См. ":help bugs".
448.TP
449/usr/local/lib/vim/filetype.vim
450Сценарий для определения типа файла по имени. См. ":help 'filetype'".
451.TP
452/usr/local/lib/vim/scripts.vim
453Сценарий для определения типа файла по содержимому. См. ":help 'filetype'".
454.TP
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000455/usr/local/lib/vim/print/*.ps
Bram Moolenaar2e4096b2005-03-20 22:25:45 +0000456Файлы для печати PostScript.
457.PP
458Более свежая информация -- на сайте VIM:
459.br
460<URL:http://www.vim.org/>
461.SH СМОТРИ ТАКЖЕ
462vimtutor(1)
463.SH АВТОРЫ
464Большая часть
465.B Vim
466создана Брамом Мооленааром (Bram Moolenaar), которому помогает огромное
467количество людей. См. ":help credits" в
468.B Vim.
469.br
470.B Vim
471базируется на коде редактора Stevie, написанного Тимом Томпсоном (Tim Thompson),
472Тони Эндрюсом (Tony Andrews) и Г. Р. (Фредом) Уолтером (G.R. (Fred) Walter).
473Однако, в настоящее время в Vim почти не осталось ничего от исторического кода
474его предшественника.
475.br
476Русская локализация
477.B Vim
478выполняется в рамках проекта "РуВим",
479см. <URL:http://sourceforge.net/projects/ruvim/>.
480.SH ГЛЮКИ
481Скорее всего есть.
482См. ":help todo" -- список известных проблем.
483.PP
484Заметим, что многие вещи, которые считаются глюками, на самом деле
485являются результатом слишком полного воспроизведения поведения Vi.
486Если вы думаете, что что-то является ошибкой только потому, что
487"Vi делает это по-другому", внимательно прочитайте файл vi_diff.txt
488(или наберите ":help vi_diff.txt" в Vim) и используйте опции 'compatible'
489и 'cpoptions'.