Опции: A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,R,S,T,U,V,W

'aleph' 'al' число (по умолчанию: 128 на MS-DOS, 224 в других системах)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+rightleft|.

Задаёт код ASCII для первой буквы алфавита иврит. Функция, обеспечивающая соответствующую раскладку клавиатуры в режиме иврит как в режиме Вставки (при включённой опции 'hkmap'), так и в командной строке (при вводе CTRL-_), возвращает символы иврит в диапазоне [aleph..aleph+26]. Значение aleph=128 является принятым на PC, в то время как aleph=224 соответствует стандарту ISO 8859-8. См. также |rileft.txt|.

'allowrevins'  'ari'

переключатель (по умолчанию: выключено)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+rightleft|.

Позволяет использовать CTRL-_ в режиме Вставки и в командной строке. По умолчанию опция выключена, чтобы избежать ситуации, когда пользователь случайно переходит в обратный режим Вставки по нажатию CTRL-_ вместо SHIFT-_ и не знает как из него выйти. См. также 'revins'.

ЗАМЕЧАНИЕ: эта опция выключается при включении опции 'compatible'.

'altkeymap'  'akm'

переключатель (по умолчанию: выключено)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+farsi|.

Если опция включена, то вторым языком является фарси. В режиме редактирования CTRL-_ переключает раскладку клавиатуры между английским и фарси, если включена опция 'allowrevins'.

В выключенном состоянии клавиатура переключается между английским и ивритом. Эта опция полезна, когда Vim запускается в стандартном режиме, т.е. английском (с вводом текста слева направо) и вторым языком задаётся фарси или иврит (в режиме справа налево). См. также |farsi.txt|.

'ambiwidth' 'ambw'

строка (по умолчанию: "single")
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+multi_byte|.

Опция работает только в том случае, если значением опции 'encoding' является "utf-8" или другая кодировка Unicode. Она сообщает редактору Vim как поступать с символами из класса неясной ширины символа East Asian Width Ambiguous (такими как символ валюты евро, символ зарегистрированной марки, символ охраны авторского права, буквы греческого и кириллического алфавитов).

На данный момент используется два возможных значения этой опции:

"single" Используется та же ширина символов, что и для символов US-ASCII. Именно это ожидается большинством пользователей.
"double" Используется двойная ширина символа ASCII.

Существует ряд шрифтов для языков с иероглифической письменностью, в которых длина таких символов зависит исключительно от количества октетов, которые используются для задания кода символа в традиционных кодировках CJK. В таких кодировках символы кириллического и греческого алфавитов, евро, зарегистрированной марки представлены двумя октетами, поэтому в таких шрифтах имеются "широкие" глифы для этих символов. То же самое можно сказать и о некоторых символах, которые используются для рисования линий в таблицах в текстовых файлах. Поэтому, если при работе Vim в графическом режиме или в терминале используются шрифты CJK (или если Vim запущен в xterm с ключом "-cjkwidth"), эта опция должна иметь значение "double", чтобы ширина глифов в шрифте совпадала с тем значением, которое ожидается редактором. Значение опции также вероятно должно быть установлено равным "double" при работе в CJK Windows 9x/ME или Windows 2k/XP, если системная локаль является одной из локалей CJK. Подробнее см. документ Unicode Standard Annex #11 (https://www.unicode.org/reports/tr11).

'antialias'  'anti'

переключатель (по умолчанию: выключено)
глобальная опция
Vi не имеет такой возможности.
Доступно только при использовании графического интерфейса в Mac OS X.

Эта опция работает только в версии Vim с графическим интерфейсом для Mac OS X v.10.2 или более поздней. При включённом состоянии этой опции Vim будет применять "сглаживание" шрифтов, что повышает удобочитаемость на некоторых мониторах при использовании определённых размеров шрифтов. Включение этой опции может приводить к проблемам, если опция 'guifont' имеет значение по умолчанию (пустая строка).

'autochdir' 'acd'

переключатель (по умолчанию: выключено)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+netbeans_intg| или |+sun_workshop|.

Если эта опция находится во включённом состоянии, то Vim будет изменять значение текущего рабочего каталога при открытии файла, переключении буферов, удалении буфера или открытии и закрытии окна. Рабочим каталогом становится при этом каталог, в котором хранится открытый файл. Эта опция существует для обеспечения обратной совместимости с редактором Vim, выпущенным в составе Sun ONE Studio 4 Enterprise Edition.

'arabic' 'arab'

переключатель (по умолчанию: выключено)
местная по отношению к окну опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+arabic|.

Эта опция во включённом состоянии позволяет редактировать текст на арабском языке. При включении этой опции происходит следующее:

  • включается опция 'rightleft', если опция 'termbidi' выключена.
  • включается опция 'arabicshape', если опция 'termbidi' выключена.
  • значение опции 'keymap' устанавливается равным "arabic"; в режиме Вставки кнопка CTRL-^ переключает между набором английского и арабского текста.
  • включается опция 'delcombine'.

Обратите внимание, что для работы с арабским текстом значение опции 'encoding' должно быть равным "utf-8".

При отключении этой опции происходит следующее:

  • Отключается опция 'rightleft'.
  • Использование опции 'keymap' отключается (без изменения её значения).

Обратите внимание, что опции 'arabicshape' и 'delcombine' не отключаются (они являются глобальными).

См. также |arabic.txt|.

'arabicshape'  'arshape'

переключатель (по умолчанию: включено)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+arabic|.

Если эта опция включена, а опция 'termbidi' выключена, то будут происходить необходимые визуальные изменения символов, необходимые для отображения арабского текста. При этом происходит изменение формы символов, а именно:

  1. символы меняют свою форму в зависимости от позиции символа в слове (начальная, средняя, финальная и самостоятельная позиции);
  2. включается возможность составления символов;
  3. выполняется обязательное комбинирование некоторых символов.

Если эта опция отключена, то символы будут отображаться в своей самостоятельной форме.

Арабский язык использует сложную письменность и для работы с ним требуются также некоторые другие настройки. Подробнее об этом написано в разделе |arabic.txt|.

'autoindent' 'ai'

переключатель (по умолчанию: выключено)
местная по отношению к буферу опция

Если опция включена, то при открытии новой строки (после ввода <CR> в режиме Вставки или по команде "o" или "O") будет копироваться отступ текущей строки. При этом, если в строке не будет вводиться никаких символов кроме <BS> или CTRL-D с последующим вводом <Esc> или <CR>, вставленный раннее отступ будет удалён. При включённых автоматических отступах форматирование текста (по команде "gq" или при достижении границы, заданной значением опции 'textwidth' в режиме Вставки) будет использовать отступ, заданный в первой строке. При включённых опциях 'smartindent' и 'cindent' обработка отступов происходит иначе.
Опция 'autoindent' отключается при включённой опции 'paste'.
Небольшое отличие от Vi: после удаления введённого отступа при нажатии <Esc> или <CR> позиция курсора при перемещении вверх или вниз находится после удалённого отступа; Vi помещает курсор внутри удалённого отступа.

'autoread' 'ar'

переключатель (по умолчанию: выключено)
глобальная или местная по отношению к буферу опция |глобальные-местные|
Vi не имеет такой возможности.

При обнаружении изменений в файле, внесенных вне редактора Vim, если при этом файл не был изменён в редакторе Vim, то он будет автоматически прочитан заново, если эта опция находится во включённом состоянии. Файл читается только в том случае, если он не был удалён.
См. также |отметка_времени_изменения|.
Если эта опция имеет местное значение, то для перехода к использованию глобального значения используйте следующую команду:

:set autoread<

'autowrite' 'aw'

переключатель (по умолчанию: выключено)
глобальная опция

Запись содержимого файла при обнаружении несохранённых изменений при выполнении команд :next, :rewind, :last, :first, :previous, :stop, :suspend, :tag, :!, :make, CTRL-] и CTRL-^, а также в тех случаях, когда команды CTRL-O, CTRL-I, '{A-Z0-9} или `{A-Z0-9} выполняют переход к редактированию другого файла.

Замечание: некоторые команды не используют опцию 'autowrite'; см. также опцию 'autowriteall'.

'autowriteall' 'awa'

переключатель (по умолчанию: выключено)
глобальная опция
Vi не имеет такой возможности.

Работает так же, как и 'autowrite', но также используется при выполнении команд ":edit", ":enew", ":quit", ":qall", ":exit", ":xit", ":recover" и закрытии окна Vim. Включение этой опции также приводит к тем же последствиям, что и включение опции 'autowrite'.

'background' 'bg'

строка (по умолчанию "dark" или "light")
глобальная опция
Vi не имеет такой возможности.

Если значением опции является "dark", то Vim будет пытаться использовать такие цвета, которые выглядят хорошо на тёмном фоне. При использовании значения "light" Vim, наоборот, будет использовать цвета, которые хорошо выглядят на светлом фоне. Другие значения этой опции запрещены. Значение по умолчанию Vim старается установить в соответствии с используемым терминалом, но это не всегда удаётся. Изменение этой опции не изменяет цвет фона, она только сообщает редактору Vim какой используется цвет фона. Для изменения цвета фона используйте команды, описанные в разделе |:hi-normal|.

При установленном значении опции 'background' Vim выполняет подстройку цветовых групп, используемых по умолчанию, в соответствии с новым значением. Однако, цвета используемые для подсветки синтаксиса, при этом не изменяются. Если цветовая схема загружена (переменной "colors_name" присвоено какое-либо значение), то изменение значения опции 'background' приводит к перезагрузке цветовой схемы. Если цветовая схема учитывает значение опции 'background', то оно будет принято во внимание. Однако, если цветовая схема сама изменяет значение опции 'background', то изменение значения этой опции может быть утрачено. При необходимости следует удалять переменную "colors_name".

Для установки значения опции 'background' равным значению по умолчанию используйте команду

:set background&

Vim попытается самостоятельно определить необходимое значение. При использовании графического интерфейса такое определение как правило работает корректно. В ряде других случае Vim может установить ошибочное значение этой опции.

При запуске Vim в режиме графического интерфейса, значение опции 'background' по умолчанию будет "light". Если соответствующее значение не прописано в сценарии .gvimrc и Vim определяет, что фактически фон является довольно тёмным, то значение опции 'background' изменяется на "dark". Однако, это происходит только ПОСЛЕ обработки сценария запуска .gvimrc (поскольку для выяснения цвета фона окна требуется сначала открыть окно). Чтобы избежать нежелательных последствий такого поведения, заставьте окно графического интерфейса открываться до использования значения опции 'background', поместив команду ":gui" в файле сценария запуска редактора до первой соответствующей команды (такой, как, например, ":syntax on"). Как правило, значение этой опции задаётся в файле сценария запуска редактора .vimrc, возможно в зависимости от используемого терминала. Например:

:if &term == "pcterm"
:  set background=dark
:endif

Если этой опции присвоено какое-либо значение, то будут изменены значения по умолчанию для групп подсветки синтаксиса. Для использования иных настроек необходимо помещать команды ":highlight" ПОСЛЕ изменения значения опции 'background'. Эта опция также используется в файле "$VIMRUNTIME/syntax/syntax.vim" для выбора цветов, используемых при подсветке синтаксиса. После изменения значения этой опции необходимо заново загрузить файл syntax.vim, чтобы изменения вступили в силу. Это может быть достигнуто выполнением команды ":syntax on".

'backspace' 'bs'

строка (по умолчанию: "")
глобальная опция
Vi не имеет такой возможности.

Эта опция влияет на работу кнопок <BS>, <Del>, CTRL-W и CTRL-U в режиме Вставки. Её значением является список значений, разделённых запятыми. Каждое значение позволяет использовать стирание символов в определённых позициях:

значение эффект
indent позволяет выполнять стирание символов в автоматических отступах
eol позволяет стирать символы перевода строк (склеивать строки)
start позволяет выполнять стирание символов до начала вставки; команды CTRL-W и CTRL-U прекращают удаление символов при достижении начала вставки.

Если значением опции является пустая строка, то используется удаление символов, совместимое с Vi.

Для обратной совместимости с версией 5.4 и более ранними используются также следующие значения:

значение эффект
0 то же, что и ":set backspace=" (Vi-совместимый режим)
1 то же, что и ":set backspace=indent,eol"
2 то же, что и ":set backspace=indent,eol,start"

Если вы испытывает проблемы с кнопками <BS> или <Del>, то прочитайте раздел |:fixdel|.

ЗАМЕЧАНИЕ: значение этой опции устанавливается равным "" при включении опции 'compatible'.

'backup' 'bk'

переключатель (по умолчанию: выключено)
глобальная опция
Vi не имеет такой возможности.

Выполняет резервное копирование перед изменением файла. Резервная копия остаётся на диске после успешной записи файла. Если вы не хотите сохранять резервную копию, но желаете выполнять резервное копирование файла перед началом записи, то вам нужно выключить эту опцию и включить опцию 'writebackup' (так происходит по умолчанию). Если вам совсем не нужно резервное копирование, то необходимо отключить обе опции (что может быть полезно, если файловая система почти полностью заполнена). Подробнее читайте в разделе |резервное_копирование-таблица|.

При обнаружении соответствия шаблону, заданному в значении опции 'backupskip', резервное копирование выполняться не будет. При установленном значении опции 'patchmode' имя резервной копии может быть изменено так, чтобы оно отражало самую раннюю версию файла.

ЗАМЕЧАНИЕ: эта опция отключается при включении опции 'compatible'.

'backupcopy' 'bkc'

строка (по умолчанию в Vi в Unix: "yes", в остальных случаях: "auto")
глобальная опция
Vi не имеет такой возможности.

Опция указывает на способ резервного копирования, если оно выполняется при записи файла. Значением этой опции является список слов, разделённых запятыми.

Имеются следующие основные значения:

"yes" создаётся копия файла, после чего оригинал перезаписывается
"no" файл переименовывается, после чего записывается новый файл
"auto" лучший из вышеуказанных методов

Дополнительные значения, которые могут сочетаться с указанными выше:

"breaksymlink" всегда разбивать символические связи при записи
"breakhardlink" всегда разбивать жёсткие связи при записи

Создание копии и перезапись оригинального файла:

  • - Требует дополнительное время для создания копии файла.
  • + Если файл имеет какие-либо специальные атрибуты, является жёсткой или символической ссылкой или имеет ресурсную вилку, то такие свойства файла сохраняются.
  • - Если файл является ссылкой, то резервная копия будет иметь имя ссылки, а не настоящего файла.

Изменение имени файла и запись нового файла:

  • + Работает быстро.
  • - Не все атрибуты файла могут быть скопированы в новый файл.
  • - Если файл является ссылкой, то новый файл не будет ссылкой.

Значение "auto" представляет собой золотую середину: если переименование файла возможно без побочных эффектов (т.е. свойства файла сохраняются и файл не является ссылкой), то будет использован этот метод. В противном случае выполняется копирование.

Значения "breaksymlink" и "breakhardlink" могут быть использованы в сочетании с "yes", "no" и "auto". При включении этих значений Vim будет всегда разрывать символические или жёсткие связи, выполняя то же самое, что и при использовании значения "no", переименовывая исходный файл так, что он становится резервной копией и записывая новый файл на его место. Это может быть полезным для использования в деревьях исходного кода, где все файлы являются либо символическими, либо жёсткими ссылками, и все изменения должны оставаться в местном дереве исходного кода, не оказывая влияния на основной источник исходного кода.

Существует ситуация, когда установка значения этой опции равным "no" или "auto" может привести к проблеме: если программа, которая открывает файл, запускает Vim для его редактирования, после чего выполняет проверку изменения открытого файла (используя дескриптор файла). В этом случае вместо вновь созданного файла проверка будет происходить с использованием резервной копии. Примером такой программы может быть "crontab -e".

При копировании файла оригинал усекается до нулевой длины и затем заполняется новым текстом. Это приводит к тому, что защитные биты, сведения о владельце файла и символические ссылки оригинального файла остаются без изменений. В то же время, резервная копия файла является новым фалом, владельцем которого является пользователь, который редактировал оригинал файла. Группа файла резервной копии остаётся той же, что и группа оригинального файла, если это возможно, либо биты прав доступа к файлу для группы заменяются правами доступа для всех пользователей.

При переименовании файла происходит нечто иное: резервная копия файла сохраняет все свойства оригинального файла, а владельцем нового файла будет текущий пользователь. Если файл являлся жёсткой или символической ссылкой, то новый файл ссылкой уже не будет!  Именно по этой причине при использовании значения "auto" не происходит переименования файла, если этот файл является ссылкой. Владелец и группа нового файла будут соответствовать значениям для оригинального файла, если система позволит это сделать; в противном случае, при использовании значения "auto" переименования не произойдёт.

'backupdir' 'bdir'

строка (по умолчанию на Amiga: ".,t:", на MS-DOS и Win32: ".,c:/tmp,c:/temp" на Unix: ".,~/tmp,~/")
глобальная опция
Vi не имеет такой возможности.

Список каталогов для хранения резервных копий, разделённых запятыми.

  • Резервная копия создаётся в первом каталоге из перечисленных в списке, где это возможно.
  • Пустое значение опции означает, что резервные копии создаваться не будут (опция 'patchmode' работать не будет!). При этом может быть невозможна запись файла.
  • Каталог "." указывает на размещение резервной копии файла в том же каталоге, что и сам файл.
  • Каталог, начинающийся с "./" (или ".\" на MS-DOS и т.п.) указывает на размещение резервной копии файла относительно редактируемого файла. При этом символ "." заменяется путём к редактируемому файлу. ("." внутри имени каталога не имеет особого значения).
  • Пробелы после запятой игнорируются, остальные пробелы считаются частью имени каталога. Чтобы включить пробел в начале имени каталога, его надо предварять символом обратной косой черты.
  • Для включения запятой в имени каталога её надо предварять символом обратной косой черты.
  • Имя каталога может заканчиваться символом '/'.
  • Возможна подстановка значений переменных окружения |подстановка_переменных_окружения|.
  • Будьте осторожны с символом '\': перед пробелами следует указывать один символ обратной косой черты, для включения символа косой черты в значение опции следует набирать два символа косой черты (см. |опции-обратная_косая|). Например:

    :set bdir=c:\\tmp,\ каталог\\,с\\,запятыми,\\\ каталог\ с\ пробелами
  • Для обратной совместимости с Vim версии 3.0 символ '>' в начале опции удаляется.

См. также справку по опциям 'backup' и 'writebackup'.

Если вы хотите прятать резервные копии файлов на Unix, то можно использовать следующее значение:

:set backupdir=./.backup,~/.backup,.,/tmp

Вам потребуется создать каталог ".backup" в каждом каталоге, а также в домашнем каталоге, чтобы этот метод работал. При добавлении и удалении каталогов из списка рекомендуется использовать команды |:set+=| и |:set-=|. Это позволяет избежать проблем, если в будущих версиях будет использовано другое значение по умолчанию.

Эта опция не может быть изменена из |режимной_строки| или в |песочнице| по соображениям безопасности.

'backupext' 'bex'

строка (по умолчанию: "~", на VMS: "_")
глобальная опция
Vi не имеет такой возможности.

Опция содержит строку, которая добавляется к имени файла у резервных копий. По умолчанию используется довольно необычное значение, чтобы избежать случайного стирания существующих файлов при записи резервной копии. Вы можете предпочесть использование расширения ".bak", однако убедитесь, что у вас нет файлов с таким расширением, которые вам хотелось бы сохранить.

'backupskip' 'bsk'

строка (по умолчанию: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+wildignore|.

Список шаблонов имён файлов. Если один из шаблонов соответствует имени файла, то резервная копия не создаётся. Используется как имя файла, так и полный путь к файлу. Шаблоны, которые используются в качестве значения этой опции, такие же, как и применяемые в автокомандах |:autocmd|, подробнее см. |автокоманды-шаблоны|. Будьте осторожны с использованием специальных символов, см. |опции-обратная_косая|.

Если переменные $TMPDIR, $TMP или $TEMP не заданы, то они не будут использоваться в значении по умолчанию. "/tmp/*" используется только в Unix.

'balloondelay' 'bdlay'

число (по умолчанию: 600)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+balloon_eval|.

Задержка в миллисекундах перед появлением пузыря.
См. |вычисления_в_пузыре|.

'ballooneval' 'beval'

переключатель (по умолчанию: выключено)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностями |+balloon_eval| и |+sun_workshop| или |+netbeans_intg|.

Включает или отключает возможность вычислений в пузыре,
см. |вычисления_в_пузыре|.

'binary' 'bin'

переключатель (по умолчанию: выключено)
местная по отношению к буферу опция
Vi не имеет такой возможности.

Эта опция должна быть включена перед редактированием бинарного файла. Вы также можете использовать аргумент |-b| при запуске Vim. При включении этой опции изменяется значение ряда других опций:

'textwidth' устанавливается равным 0
'wrapmargin' устанавливается равным 0
'modeline' отключается
'expandtab' отключается

Кроме того, опции 'fileformat' и 'fileformats' не будут использоваться, а файл читается и записывается так, как если бы значением опции 'fileformat' было "unix" (т.е. для разделения строк используется символ <NL>).

Опции 'fileencoding' и 'fileencodings' также не используются, файл читается без преобразований.

ЗАМЕЧАНИЕ: при редактировании другого файла с включённой опцией 'bin' настройки автокоманд могут изменить установки (например, значение опции 'textwidth'), что может привести к нежелательным последствиям при редактировании. Вы можете включить опцию 'bin' заново после загрузки файла.

Предыдущие значения указанных опций запоминаются и восстанавливаются при отключении опции 'bin'. В каждом буфере сохраняется собственный набор соответствующих опций.

Для редактирования файла со включённой опцией 'binary' можно использовать аргумент командной строки |++bin|. Это позволяет избежать применения команды ":set bin", которая оказывала бы влияние на все редактируемые файлы.

При записи файла символ конца последней строки <EOL> записывается только в том случае, если он имеется в оригинальном файле (обычно Vim добавляет символ <EOL> к последней строке, если он не был введён пользователем; это делает файл длиннее). См. также справку по опции 'endofline'.

'bioskey' 'biosk'

переключатель (по умолчанию: включено)
глобальная опция
Vi не имеет такой возможности.
Только в MS-DOS.

Если эта опция включена, то для получения кода символа происходит обращение к BIOS. Это позволяет лучше определять нажатие CTRL-C, но работает только в консоли. При использовании терминала, подключённого к параллельному порту, следует отключить данную опцию.
См. также |'conskey'|.

'bomb'

переключатель (по умолчанию: выключено)
местная по отношению к буферу опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+multi_byte|.

Если указанные ниже условия удовлетворяются, то при записи в начало файла будет вставлена отметка порядка байтов BOM (Byte Order Mark):

  • данная опция включена
  • опция 'binary' выключена
  • значением опции 'fileencoding' является "utf-8", "ucs-2", "ucs-4" или один из вариантов с прямым/обратным порядком байтов.

Некоторые приложения используют BOM для выяснения кодировки файла. Эта отметка часто используется для файлов в кодировке UCS-2 в MS-Windows. В других приложениях, наоборот, использование такой отметки приводит к проблемам, например: команда "cat file1 file2" приводит к тому, что отметка BOM вставляется в середине полученного таким образом файла. При чтении файла в редакторе Vim, если значение опции 'fileencodings' начинается с "ucs-bom", то файл проверяется на наличие BOM и значение опции 'bomb' устанавливается соответствующим образом. При этом она убирается из первой строки с тем, чтобы её не было видно при редактировании файла, если, конечно, опция 'binary' выключена. Если вы не отключаете эту опцию перед записью файла, то BOM будет восстановлена при записи.

'breakat' 'brk'

строка (по умолчанию: " ^I!@*-+;:,./?")
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+linebreak|.

Эта опция позволяет вам указать символы, которые могут приводить к переносу строки при включённой опции 'linebreak'.

'browsedir' 'bsdir'

строка (по умолчанию: "last")
глобальная опция
Vi не имеет такой возможности.
Только для Motif и версии с графическим интерфейсом Win32.

Указывает на каталог, который используется для проводника по файловой системе:

last Использовать каталог, который был использован раннее.
buffer Использовать каталог соответствующего буфера.
current Использовать текущий каталог.
{путь} Использовать каталог с указанным {путём}.

'bufhidden' 'bh'

строка (по умолчанию: "")
местная по отношению к буферу опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+quickfix|.

Эта опция указывает, что происходит, когда буфер перестаёт отображаться в окне:

<пусто> используется значение глобальной опции 'hidden'
hide буфер скрывается (но не выгружается); также в случае, когда опция 'hidden' выключена
unload буфер выгружается из памяти; также в случае, когда опция 'hidden' включена или используется команда |:hide|
delete буфер удаляется из списка буферов; также при включённой опции 'hidden' или использовании |:hide|, подобно команде |:bdelete|.
wipe буфер стирается из списка буферов; также при включённой опции 'hidden' или использовании команды |:hide|, подобно команде |:bwipeout|.

Эта опция используется совместно с опциями 'buftype' и 'swapfile' для указания на специальные типы буферов. См. |специальные_буферы|.

'buflisted' 'bl'

переключатель (по умолчанию: включено)
местная по отношению к буферу опция
Vi не имеет такой возможности.

Если эта опция включена, то буфер будет появляться в списке буферов.
Если опция выключена, то данный буфер не будет использоваться при выполнении команд ":bnext", "ls", в меню буферов и т.д. Эта опция отключается Vim для буферов, которые используются только для запоминания имени файла или отметок. При редактировании файла Vim включает эту опцию, кроме ситуации, когда переход к буферу выполняется по команде ":buffer".

'buftype' 'bt'

строка (по умолчанию: "")
местная по отношению к буферу опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+quickfix|.

Значение опции определяет тип буфера:

<пусто> обычный буфер
nofile буфер, который не связан с файлом и не может быть записан
nowrite буфер, который не будет записан
quickfix буфер быстрого исправления, содержит список ошибок. Подробнее смотрите в справке по команде |:cwindow|.
help буфер справки (этот тип буфера не должен настраиваться вручную)

Эта опция используется совместно с опциями 'bufhidden' и 'swapfile' для указания на специальные типы буферов. См. |специальные_буферы|.

Изменяйте значение этой опции осторожно, т.к. это может привести к нежелательным последствиям.

Буфер "quickfix" используется только для списка ошибок. Это значение устанавливается по команде |:cwindow| и вы не должны изменять его вручную.

Буферы "nofile" и "nowrite" похожи:

оба типа: Буфер не может быть записан на диск, команда ":w" не работает (но работает команда ":w имя_файла").
оба типа: Буфер никогда не считается изменённым (см. справку по опции |'modified'|).
Это приводит, в частности, к тому, что при выходе из Vim не выдаётся предупреждение о несохранённых изменениях.
оба типа: Своп-файл создаётся только при использовании большого количества памяти (если опция 'swapfile' выключена, то своп-файл никогда не создаётся).
только nofile: Имя буфера является неизменяемым и не будет рассматриваться как имя файла. Оно не изменяется в ответ на выполнение команды |:cd|.

'casemap' 'cmp'

строка (по умолчанию: "internal,keepascii")
глобальная опция
Vi не имеет такой возможности.

Указывает на детали процесса изменения регистра символов. Опция может содержать следующие слова, разделённые запятыми:

internal Используются встроенные функции изменения регистра, значение локали не изменяет таблицы соответствий символов. Это значение актуально только в том случае, если 'encoding' является кодировкой Unicode. Если слово "internal" опущено, то по возможности используются системные библиотечные функции towupper() и towlower().
keepascii Для символов ASCII (от 0x00 до 0x7f) используется таблица соответствия регистра символов US, текущая локаль не принимается во внимание. Значение, по всей видимости, актуально только при использовании турецкой локали.

'cdpath' 'cd'

строка (по умолчанию: эквивалент $CDPATH или ",,")
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+file_in_path|.

Значением опции является список каталогов, в которых происходит поиск при выполнении команд |:cd| и |:lcd|, если указанный путь поиска является относительным (т.е. не начинается с символов "/", "./" или "../").

Значение опции 'cdpath' имеет ту же форму и смысл, что и значение опции |'path'|. См. также раздел |файл-поиск|. Значением по умолчанию является значение переменной $CDPATH, которое предваряется ",", чтобы поиск выполнялся прежде всего в текущем каталоге.

Если значение по умолчанию, взятое из значения переменной окружения $CDPATH, вас не устраивает, то вы можете добавить в файл vimrc команду, аналогичную следующей:

:let &cdpath = ',' . substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g')

Значение этой опции не может быть изменено из |режимной_строки| или в |песочнице| по соображениям безопасности (значение опции 'cdpath' может содержать компоненты, которые передаются оболочке для подстановки имён файлов).

'cedit'

строка (по умолчанию в Vi: "", по умолчанию в Vim: CTRL-F)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+vertsplit|.

Опция указывает на кнопку, которая используется в режиме командной строки для открытия окна команд. По умолчанию значением этой опции является CTRL-F, если опция 'compatible' выключена. В качестве значения этой опции могут выступать только непечатные символы.

Кнопка может быть указана как соответствующий символ, однако, поскольку набирать такого рода символ затруднительно, то лучше использовать формат соглашения <>. Например:

:set cedit=<C-Y>
:set cedit=<Esc>

|Nvi| также имеет данную опцию, но использует только первый символ.
См. также |командная_строка-окно|.

'charconvert' 'ccv'

строка (по умолчанию: "")
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностями |+multi_byte| и |+eval|.

Опция используется для задания выражения, которое используется при выполнении преобразования кодировок символов. Указанное выражение вычисляется при чтении или записи файла, который имеет кодировку, отличающуюся от желаемой.

Опция 'charconvert' не используется, если Vim поддерживает встроенную функцию iconv() и может выполнять необходимые преобразования самостоятельно. Использование iconv() является предпочтительным и значительно более быстрым методом.

Опция 'charconvert' не используется при чтении потока стандартного ввода |--|, поскольку в этом случае файл как таковой отсутствует. Чтобы выполнить перекодировку в этом случае вам потребуется сначала сохранить файл. Выражение, указанной в данной опции, должно возвращать ноль или пустую строку в случае успешного выполнения, либо ненулевое значение в случае неудачи.

Возможные названия кодировок хранятся в значении опции 'encoding'. Кроме того, могут быть использованы кодировки, указанные в опциях 'fileencodings' и 'fileencoding'.

Преобразования между "latin1", "unicode", "ucs-2", "ucs-4" и "utf-8" выполняются при помощи внутреннего алгоритма, встроенного в редактор. Значение опции 'charconvert' при этом не используется. Если в значении опции 'viminfo' указан флаг 'c', то значение опции 'charconvert' будет использоваться при выполнении преобразования файла viminfo и преобразованиях Unicode.

Пример:

set charconvert=CharConvert()
fun CharConvert()
  system("recode "
    \ . v:charconvert_from . ".." . v:charconvert_to
    \ . " <" . v:fname_in . " >" v:fname_out)
  return v:shell_error
endfun

Соответствующие переменные Vim имеют следующее предназначение:

v:charconvert_from название текущей кодировки
v:charconvert_to название желательной кодировки
v:fname_in имя входного файла
v:fname_out имя выходного файла

Обратите внимание, что v:fname_in и v:fname_out не должны быть одним и тем же файлом. Заметим также, что значения v:charconvert_from и v:charconvert_to могут отличаться от значения опции 'encoding'. Внутренней кодировкой Vim является UTF-8, а не UCS-2 или UCS-4. При использовании опции 'charconvert' Vim не выполняет шифрование текста. Если после выполнения преобразования вы хотите зашифровать текст, то 'charconvert' будет использоваться при необходимости. По соображения безопасности эта опция не может быть изменена из |режимной_строки| или в |песочнице|.

'cindent' 'cin'

переключатель (по умолчанию: выключено)
местная по отношению к буферу опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+cindent|.

Позволяет выполнять автоматическое форматирование отступов в программах на языке C. Для настройки кнопок, которые вызывают изменение форматирования отступов в режиме Вставки, пользуйтесь опцией 'cinkeys', а опция 'cinoptions' позволяет выбирать предпочтительный стиль форматирования отступов.

Если опция 'indentexpr' имеет значение, отличное от пустой строки, то оно используется вместо значения опции 'cindent'. Если опция 'lisp' выключена, а опции 'indentexpr' и 'equalprg' пустые, то оператор "=" выполняет форматирование отступов с использованием данного алгоритма вместо вызова внешней программы.

См. также |С-отступы|.

Если вам не нравится как работает алгоритм, который используется в опции 'cindent', то вы можете попробовать использовать вместо него 'smartindent' или опцию 'indentexpr'. Эта опция не используется при включённой опции 'paste'.

ЗАМЕЧАНИЕ: эта опция отключается при включении опции 'compatible'.

'cinkeys' 'cink'

строка (по умолчанию: "0{,0},0),:,0#,!^F,o,O,e")
местная по отношению к буферу опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+cindent|.

Опция содержит список символов, набор которых в режиме Вставки вызывает изменение форматирования отступов в текущей строке. Используется только при включённой опции 'cindent' и пустой опции 'indentexpr'.

Формат значения этой опции описывается в разделе |cinkeys-формат|.

См. также |С-отступы|.

'cinoptions' 'cino'

строка (по умолчанию: "")
местная по отношению к буферу опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+cindent|.

Опция 'cinoptions' влияет на метод форматирования отступов в исходных текстах программ на языке C при использовании опции 'cindent'. Значения этой опции разбираются в разделе |cinoptions-значения|, а общие сведения о форматировании отступов в программах на языке C приводятся в разделе |С-отступы|.

'cinwords' 'cinw'

строка (по умолчанию: "if,else,while,do,for,switch")
местная по отношению к буферу опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностями |+cindent| и |+smartindent|.

Опция содержит ключевые слова, ввод которых приводит к добавлению отступа в следующей строке, если включена опция 'smartindent' или 'cindent'. При включённой опции 'cindent' это происходит только в том случае, если ключевое слово встречается внутри блока (в фигурных скобках {}).

Обратите внимание, что 'ignorecase' не используется для опции 'cinwords'. Если регистр символов в ключевом слове не имеет значения, то вам нужно добавить это слово в список значений опции во всех возможных вариантах: "if,If,IF".

'clipboard' 'cb'

строка (по умолчанию: "autoselect,exclude:cons\|linux" для X-windows, "" в остальных случаях)
глобальная опция
Vi не имеет такой возможности.
Доступно только в версиях с графическим интерфейсом или в случае, если Vim скомпилирован с особенностью |+xterm_clipboard|.

Значением опции является список имён, разделённых запятыми.

Поддерживаются следующие имена:

unnamed Если указано данное имя, то Vim будет использовать регистр буфера обмена '*' для всех операция копирования, удаления, изменения и помещения текста в безымянный регистр. Если регистр задан явным образом, то будет использован указанный регистр независимо от наличия имени "unnamed" в списке значений опции 'clipboard'. Регистр буфера обмена может быть также доступен во всех случаях при помощи "*. См. также раздел |графический_интерфейс-буфер_обмена|.
autoselect Использование этого имени аналогично указанию флага 'a' в значении 'guioptions': в том случае, когда оно указано, при переходе в Визуальный режим или расширении Визуальной области Vim пытается стать владельцем глобального выделения системы оконного интерфейса или помещает выделенный текст в буфер обмена при помощи регистра выделения "*. Подробнее об этом смотрите в разделах |guioptions_a| и |кавычка_звёздочка|. В случае, если используется графический интерфейс, применяется флаг 'a' в опции 'guioptions', а если графический интерфейс не используется, то применяется значение "autoselect" данной опции. Вышесказанное также относится и к безрежимному выделению.
autoselectml То же, что и "autoselect", но только для безрежимного выделения. Ср. с флагом 'A' в опции 'guioptions'.

exclude:{шаблон}

Определяет шаблон, который используется для проверки соответствия имени терминала 'term'. Если имя терминала соответствует шаблону, то соединение с сервером X устанавливаться не будет. Это полезно в следующих случаях:

  • Vim запущен с консоли.
  • Переменная $DISPLAY установлена таким образом, что приложения запускаются на другом экране.
  • Вы не хотите соединяться с сервером X в консоли, но хотели бы это делать в эмуляторе терминала.

Чтобы полностью исключить соединение с сервером X используйте

exclude:.*

Такое значение имеет тот же эффект, что и использование параметра |-X|.  Обратите внимание, что если соединение с сервером X отсутствует, то заголовок окна обновляться не будет и буфер обмена будет недоступен. Значение опции 'magic' игнорируется, а {шаблон} интерпретируется так, как если бы опция 'magic' была бы включена.

В качестве {шаблона} используется весь текст до конца значения опции, поэтому данное имя должно быть последним в списке значений.

'cmdheight' 'ch'

число (по умолчанию: 1)
глобальная опция
Vi не имеет такой возможности.

Число строк экрана, выделенное для командной строки. Позволяет избежать появления сообщений |нажмите-enter|.

'cmdwinheight' 'cwh'

число (по умолчанию: 7)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+vertsplit|.

Задаёт число строк экрана для окна командной строки.
См. |командная_строка-окно|.

'columns' 'co'

число (по умолчанию: 80 или ширина терминала)
глобальная опция
Vi не имеет такой возможности.

Число колонок на экране. Обычно значение этой опции изменяется автоматически при инициализации терминала и не требует вмешательства со стороны пользователя.

Если Vim запущен в графическом интерфейсе или в окне с изменяемым размером, то изменение значения этой опции приводит к изменению размера окна. Если вам необходимо изменять значение этой опции только для графического интерфейса, поместите соответствующую команду в файл |gvimrc|. Если после изменения значения этой опции Vim будет не в состоянии изменить физическое число колонок, то на экране возможно появление мусора.

'comments' 'com'

строка (по умолчанию: "s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-")
местная по отношению к буферу опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+comments|.

Значением этой опции является список символьных строк, разделённых запятыми, с которых может начинаться строка с комментарием. Более подробная информация о комментариях содержится в разделе |форматирование-комментарии|. В разделе |опции-обратная_косая| объясняется как использовать символ обратной косой черты для включения пробела в значение опции.

'commentstring' 'cms'

строка (по умолчанию: "/*%s*/")
местная по отношению к буферу опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+folding|.

Опция содержит шаблон для комментария. Символы "%s" в значении опции заменяются текстом комментария. В настоящее время опция используется только для добавления маркеров для складок, см. |складки-маркеры|.

'compatible' 'cp'

переключатель (по умолчанию: включено, выключено если обнаружен файл .vimrc)
глобальная опция
Vi не имеет такой возможности.

Эта опция позволяет переключаться между режимом совместимости с Vi и более полезным использованием Vim.

Эта опция отличается от других тем, что при изменении её значения также изменяется значение целого ряда других опций.

БУДЬТЕ ОСТОРОЖНЫ! Изменение значения этой опции может привести к целому ряду нежелательных последствий: изменяется алгоритм интерпретации привязок, отмена операций будет выполняться не так, как прежде и т.п. Если вы изменяете значение этой опции в файле vimrc, то лучше всего делать это в самом начале файла.

По умолчанию эта опция включена, что приводит к использованию значений опций, принятых по умолчанию в Vi. Такое значение по умолчанию было выбрано специально для тех, кто перешёл на Vim с Vi и даже не знает (или не хочет знать) о существовании опции 'compatible'.

Если при запуске Vim будет обнаружен файл ".vimrc", то эта опция отключается и все неизменённые опции будут изменены в соответствии со значениями, принятыми по умолчанию для Vim. Таким образом, редактор будет использовать значения опций по умолчанию для Vim, если имеется файл ".vimrc", и значения опций по умолчанию для Vi в противном случае. (Замечание: это не касается общего системного файла vimrc).

См. также |совместимость_по_умолчанию|.

Эта опция может быть также включена с помощью аргумента "-C" командной строки и выключена при помощи аргумента "-N". См. |-C| и |-N|. Отключение этой опции приводит к использованию значений по умолчанию Vim для тех опций, в которых значения по умолчанию Vi и Vim различаются. В списке ниже такие опции помечены знаком '+'. Значения других опций не изменяются.

При включении этой опции значения целого ряда других опций изменяются таким образом, что Vim становится как можно более Vi-совместимым. В таблице ниже обобщаются эти изменения. Вы можете пользоваться этой возможностью, чтобы вернуться к редактированию в стиле Vi.

См. также 'cpoptions'.

опция + значение эффект
'allowrevins' off отсутствует команда CTRL-_
'backupcopy' Unix: "yes" файл резервной копии является копией другие системы: "auto"    файл резервной копии копируется или переименовывается
'backspace' "" обычное удаление символа слева
'backup' off файл резервной копии отключается
'cindent' off форматирование отступов в коде C отключается
'cedit' + "" кнопка для открытия |cmdwin| не определена
'cpoptions' + (все флаги) Vi-совместимые флаги
'cscopetag' off не использовать cscope для ":tag"
'cscopetagorder' 0 см. |cscopetagorder|
'cscopeverbose' off см. |cscopeverbose|
'digraph' off диграфы отключаются
'esckeys' + off отсутствуют <Esc>-кнопки в режиме Вставки
'expandtab' off табуляция не заменяется пробелами
'fileformats' + "" автоматическое распознавание формата файла отключено, "dos,unix" за исключением DOS, Windows и OS/2
'formatoptions' + "vt" Vi-совместимое форматирование
'gdefault' off по умолчанию флаг 'g' для ":s" отсутствует
'history' + 0 отсутствует история командной строки
'hkmap' off отсутствует раскладка клавиатуры для иврита
'hkmapp' off отсутствует фонетическая раскладка клавиатуры для иврита
'hlsearch' off отключается подсветка соответствий шаблону поиска
'incsearch' off отключается пошаговый поиск
'indentexpr' "" форматирование отступов по выражению отключается
'insertmode' off запуск в режиме Вставки не производится
'iskeyword' + "@,48-57,_" ключевые слова могут содержать алфавитно-цифровые символы и символ '_'
'joinspaces' on после точки вставляется два пробела
'modeline' + off режимные строки отключаются
'more' + off вывод длинных списков происходит без пауз
'revins' off отключается вставка в обратном направлении
'ruler' off отключается линейка
'scrolljump' 1 отключается прыжок при прокрутке
'scrolloff' 0 отсутствует смещение прокрутки
'shiftround' off ширина отступа не округляется до значения shiftwidth
'shortmess' + "" сообщения не сокращаются
'showcmd' + off символы команд не отображаются
'showmode' + off текущий режим не отображается
'smartcase' off автоматическое переключение игнорирования регистра символов отключается
'smartindent' off отключается интеллектуальное форматирование отступов
'smarttab' off отключается интеллектуальный размер табуляции
'softtabstop' 0 табуляция всегда выполняется в позиции 'tabstop'
'startofline' on переход в начало строки в некоторых командах
'tagrelative' + off имена файлов меток не являются относительными
'textauto' + off отсутствует автоматическое распознавание режима текста
'textwidth' 0 автоматические перенос строк отключается
'tildeop' off тильда не является оператором
'ttimeout' off терминальный тайм-аут не определён
'whichwrap' + "" перемещения влево-вправо не выходят за пределы строки
'wildchar' + CTRL-E CTRL-E используется для дополнения командной строки только в том случае, если текущим значением является <Tab>
'writebackup' on или off зависит от особенности +writebackup

'complete' 'cpt'

строка (по умолчанию: ".,w,b,u,t,i")
местная по отношению к буферу опция
Vi не имеет такой возможности.

Эта опция указывает на алгоритм работы дополнения ключевых слов при использовании CTRL-P и CTRL-N (см. |вставка-автодополнение|). Значение опции также используется при дополнении строки целиком |i_CTRL-X_CTRL-L|. Она задаёт тип дополнения и источники, в которых выполняется поиск, и представляет собой список флагов, разделённых запятыми:

. искать в текущем буфере ('wrapscan' игнорируется)
w искать в буферах в других окнах
b искать в других загруженных буферах в списке буферов
u искать в выгруженных буферах в списке буферов
U искать в буферах вне списка буферов
k искать в файлах, заданных в значении опции 'dictionary'
k{dict} искать в файле {dict}.  Можно указывать несколько флагов "k", а также использовать шаблоны. Например:
:set cpt=k/usr/dict/*,k~/spanish
s искать в файлах, указанных в значении опции 'thesaurus'
s{tsr} искать в файле {tsr}. Можно указывать несколько флагов "s", а также использовать шаблоны.
i искать в текущем и подключаемых к нему файлах
d искать в текущем и подключаемых к нему файлах определённое имя или макрос |i_CTRL-X_CTRL-D|
] дополнение метки
t то же, что и "]"

Выгруженные буферы не загружаются, поэтому соответствующие автокоманды |:autocmd| не выполняются, что может привести к неожиданным эффектам при выполнении дополнений (например, из файлов-архивов gzip). Поиск дополнений строки целиком в выгруженных буферах не выполняется.

По умолчанию используется значение ".,w,b,u,t,i", что приводит к поиску в следующих местах:

  1. текущий буфер
  2. буферы в других окнах
  3. другие загруженные буферы
  4. выгруженные буферы
  5. метки
  6. включённые файлы

Как видите, CTRL-N и CTRL-P можно использовать для выполнения любых дополнений, основанных на 'iskeyword' (например, по словарю |i_CTRL-X_CTRL-K|, подключённым шаблонам |i_CTRL-X_CTRL-I|, меткам |i_CTRL-X_CTRL-]|, как и выполнять нормальные подстановки).

'confirm' 'cf'

переключатель (по умолчанию: выключено)
глобальная опция
Vi не имеет такой возможности.

Если опция 'confirm' включена, то некоторые операции, которые в обычных обстоятельствах завершаются неудачно по причине наличия несохранённых изменений в буфере, например ":q" и ":e", будут приводить к появлению |диалога|, запрашивающего необходимость сохранения текущего файла или файлов. При этом вы по-прежнему можете пользоваться !, чтобы |оставить| буфер безусловно. Если опция 'confirm' выключена, то вы можете включить вывод диалога подтверждения для единственной команды (такая возможность в основном используется в привязках) при помощи команды |:confirm|.

См. также функцию |confirm()| и флаг 'v' в опции 'guioptions'.

'conskey' 'consk'

переключатель (по умолчанию: выключено)
глобальная опция
Vi не имеет такой возможности.
Доступно только в MS-DOS.

При работе с консолью для получения кода символа используются процедуры прямого ввода, что работает в большинстве случаев. См. также справку по опции |'bioskey'|. В целом доступно три способа обработки ввода с консоли:

'conskey' 'bioskey' действие
on on или off прямой ввод с консоли
off on BIOS
off off STDIN

'copyindent' 'ci'

переключатель (по умолчанию: выключено)
местная по отношению к буферу опция
Vi не имеет такой возможности.

Включённая опция указывает, что редактор должен выполнять копирование структуры отступа в предыдущей строке при выполнении автоматического форматирования отступа в новой строке. Обычно новый отступ формируется при помощи последовательности символов табуляции с добавлением необходимого количества пробелов (если, конечно, опция |'expandtab'| выключена; в противном случае используются только пробелы). Если эта опция включена, то отступы в новой строке формируются в точности из тех же символов, что и в предыдущей строке. Если новый отступ больше чем отступ в предыдущей строке, то последующие пробелы подставляются в обычном порядке.

ЗАМЕЧАНИЕ: опция 'copyindent' выключается, если включена опция 'compatible'. См. также справку по опции 'preserveindent'.

'cpoptions' 'cpo'

строка (по умолчанию в режиме Vim: "aABceFs", по умолчанию в режиме совместимости с Vi: все флаги)
глобальная опция
Vi не имеет такой возможности.

Последовательность флагов, представляющих собой одиночные символы. Каждый символ включает какое-либо Vi-совместимое поведение. Опция используется в тех случаях, когда предпочтительно не переходить в режим совместимости с Vi и в то же время настраивать определённые аспекты работы редактора так, как это работает в Vi. Название опции 'cpoptions' происходит от английского "compatible-options", т.е. "опции совместимости".

Для удобочитаемости в строку-значение опции можно добавлять запятые. Чтобы избежать проблем с добавлением флагов, рекомендуется использовать особенности команды ":set": "+=" и "-=". Подробнее об этом читайте в разделе |добавление_флага_к_опции|.

ЗАМЕЧАНИЕ: значение опции устанавливается равным принятому по умолчанию в режиме совместимости с Vi при включении опции 'compatible' и равным принятому по умолчанию в режиме Vim при отключении опции 'compatible'.

флаг поведение
a Команда ":read" с именем файла в качестве аргумента устанавливает имя соседнего файла для текущего окна.
A Команда ":write" с именем файла в качестве аргумента устанавливает имя соседнего файла для текущего окна.
b "\|" в команде ":map" распознаётся как конец команды ":map". Символ '\' включается в привязку, а текст после символа '|' интерпретируется как следующая команда. Для включения в привязку символа '|' вместо обратной косой нужно использовать в этом случае CTRL-V. Вышесказанное относится ко всем командам привязок, сокращений, меню и автокомандам. См. также |map-вертикальная_черта|.
B Обратная косая черта утрачивает особое значение в привязках, сокращениях и в значениях команд меню. Чтобы использовать обратную косую черту как CTRL-V следует убрать этот флаг. Например, команда ":map X \<Esc>" приводит к заданию следующей привязки для X:
  • с флагом 'B': "\^[" (^[ это настоящий символ <Esc>)
  • без флага 'B': "<Esc>"  (5 символов)

('<' исключается в обоих случаях)

c Поиск продолжается в конце любого соответствия в позиции курсора, но не далее, чем начало следующей строки. Если этот флаг не задан, то поиск продолжается с позиции следующего символа после позиции курсора. Например, с флагом 'c' при повторении поиска "/abab" в строке "abababababab" будет найдено только три соответствия, а без флага 'c' будет обнаружено пять соответствий.
C Не склеивать строки в файле сценария, которые начинаются с символа обратной косой черты.
См. |продолжение_строки|.
d Использование "./" в значении опции 'tags' указывает не на файл меток, расположенный относительно текущего файла, а на файл меток, расположенный относительно текущего каталога.
D Отмена использования CTRL-K для ввода диграфа после команд Обычного режима с символьным аргументом, таким как |r|, |f| и |t|.
e При выполнении содержимого регистра по команде ":@r" всегда добавлять <CR> к последней строке, даже если содержимое регистра не построчное. Если этот флаг не задан, содержимое регистра не является построчным, а последняя строка не заканчивается на <CR>, то последняя строка помещается в командную строку и может быть отредактирована перед вводом <CR>.
E Если флаг задан, то считается ошибкой использование команд "y", "d", "c", "g~", "gu" и "gU" над пустой областью. Операторы работают только в том случае, когда имеется хотя бы один символ, над которым должна быть произведена операция. Например: "y0" будет завершаться неудачно в первой колонке.
f Если флаг задан, то команда ":read" с именем файла в качестве аргумента будет устанавливать имя файла для текущего буфера в том случае, если текущий буфер ещё не имеет имени файла.
F Если флаг задан, то команда ":write" с именем файла в качестве аргумента будет устанавливать имя файла для текущего буфера в том случае, если текущий буфер ещё не имеет имени файла.
g Переход к строке 1 при использовании команды ":edit" без аргументов.
i Флаг указывает, что прерванное чтение файла оставляет его без изменений.
j При склеивании строк двойной пробел добавляется только после '.', но не после '!' или '?'. См. также 'joinspaces'.
J В конце |предложения| должны следовать два пробела после '.', '!' или '?'. Символ <Tab> не рассматривается в качестве пробела.

k

Отменяет распознавание кодов клавиш в привязках, сокращениях и в определения меню. Например, если определённая <Кнопка> приводит к выдаче кода ^[OA (где ^[ представляет собой <Esc>, то команда ":map X ^[OA" приводит к определению следующих привязок для X:

  • с флагом 'k': "^[OA" (3 символа)
  • без флага 'k': "<Кнопка>" (односимвольный код)

См. также флаг '<' ниже.

K Не ожидать завершения кода клавиши, если он находится в середине привязки. Это нарушает работу привязок вроде <F1><F1>, если происходит только частичное чтение второй <F1> и допускает прекращение выполнения привязки по нажатию <F1><Esc>.

l

Обратная косая черта в диапазоне [] в шаблоне поиска воспринимается буквально, особым значением наделяется только "\]". См. |/[]|.

  • с флагом 'l': "/[ \t]" ищет <Space>, '\' и 't'
  • без флага 'l': "/[ \t]" ищет <Space> и <Tab>
L При включённой опции 'list' 'wrapmargin', 'textwidth', 'softtabstop' и режим Виртуальной Замены (см. |gR|) считают <Tab> за два символа вместо обычного поведения <Tab>.
m С этим флагом отображение результатов поиска парных соответствий будет всегда происходить с задержкой в половину секунды. Без этого флага отображение результатов поиска парных соответствий происходит с задержкой в половину секунды, если далее не был введён какой-либо символ.
См. |'showmatch'|.
M Без этого флага поиск парных соответствий с помощью "%" принимает во внимание символы обратной косой черты, так, что в "( \( )" и  "\( ( \)" внешние скобки соответствуют друг другу. С включённым флагом "M" команда "%" игнорирует символы обратной косой черты, что является Vi-совместимым поведением.
n С данным флагом колонка, которая используется для 'number' будет также использоваться для текста длинных перенесённых строк.
o Отступ строки для команды поиска не запоминается при следующем поиске.
O Vim не будет возражать, если файл будет перезаписан, даже в том случае, если файл не существовал в момент редактирования. В Vim встроена защита на тот случай, если файл был неожиданно создан кем-то ещё. Vi не обращал внимания на это обстоятельство.
p Vi-совместимое форматирование отступов в Lisp.  Если флаг не задан, то используется немного усовершенствованный алгоритм.
r Команда повторения операции (".") использует "/" для повторения команды поиска, вместо использования действительной строки поиска.
R Удалять отметки из отфильтрованных строк. Без этого флага отметки сохраняются, как при использовании команды |:keepmarks|.
s Опции для буфера устанавливаются при первом переходе в буфер. Такое поведение было принято в Vim version 3.0 и является настройкой по умолчанию. Если флаг не задан, то установка опций происходит при создании буфера.

S

Опции буфера всегда устанавливаются при переходе в буфер (кроме 'readonly', 'fileformat', 'filetype' и 'syntax'). Это наиболее совместимая с Vi настройка. Значения опций устанавливаются равными значениям в текущем буфере. При изменении значения опции и переходе в другой буфер это значение копируется. В итоге все опции буферов ведут себя как глобальные опции для всех буферов.

's' 'S' опции буферов копируются:
нет нет при создании буфера
да нет при первом переходе в буфер (по умолчанию)
X да каждый раз при переходе в буфер (совместимо с Vi)
t Шаблон поиска для команды метки запоминается для последующей команды "n". Если флаг не задан, то Vim лишь помещает шаблон в историю поиска, но не изменяет значение последнего использованного шаблона поиска.
u Отмена операций совместима с Vi.
См. |отмена-два_способа|.
v Символы, удалённые при помощи <BS> остаются видимыми на экране в режиме Вставки. Без этого флага символы стираются с экрана немедленно. Если флаг задан, то символы остаются на экране, но вновь введённый текст заменяет удалённые раннее символы.
w При использовании команды "cw" применительно к пустому символу изменяется только один символ, а не все пустые символы вплоть до начала следующего слова.
W Предотвращает перезапись файла, открытого только для чтения. Если флаг не задан, то команда ":w!" выполняет перезапись открытого только для чтения файла, если это возможно.
x Нажатие <Esc> в командной строке приводит к выполнению командной строки. По умолчанию Vim при нажатии <Esc> оставляет режим командной строки без выполнения введённой команды. |c_<Esc>|
y Команда копирования может быть повторена при помощи ".".
! Если этот флаг задан, то при повторном выполнении команды-фильтра используется последняя выполненная внешняя команда, в противном случае применяется последняя использованная команда-фильтр.
$ При выполнении изменений в пределах одной строки не обновлять строку, но помещать в конце изменённого текста '$'. Изменённый текст будет перезаписываться при наборе нового текста. Строка обновляется при вводе любой команды, которая смещает курсор от позиции вставки.
% По команде "%" выполняется Vi-совместимый поиск парных соответствий.
Не распознаются соответствия "#if", "#endif" и т.п.
Не распознаются соответствия "/*" и "*/".
Скобки внутри одинарных и двойных кавычек рассматриваются как обычные скобки, что может вести к нарушению соответствий в строках, содержащих скобку. Например, в строке "if (strcmp("foo(", s))" первая скобка не будет соответствовать последней. Если флаг не задан, то скобки внутри одинарных и двойных кавычек обрабатываются особым образом. При поиске соответствия за пределами кавычек всё, что находится внутри кавычек игнорируется. При поиске внутри кавычек парное соответствие будет найдено, если оно существует. Такое поведение полезно при редактировании программ на языке C.
* Если этот флаг задан, то ":*" используется как ":@". В противном случае ":*" является синонимом ":'<,'>", т.е. выбор Визуальной области.
< Флаг отключает распознавание кодов специальных клавиш в угловых скобках |<>| в привязках, сокращениях и определениях меню. Например, команда ":map X <Tab>" приводит к тому, что X будет привязан следующим образом:
  • с флагом '<':    "<Tab>"  (5 символов)
  • без флага '<':    "^I"     (^I это настоящий символ <Tab>)

См. также флаг 'k' выше.

'cscopepathcomp' 'cspc'

число (по умолчанию: 0)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+cscope|.

Опция определяет сколько компонентов пути нужно отображать в списке меток. См. |cscopepathcomp|.

'cscopeprg' 'csprg'

строка (по умолчанию: "cscope")
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+cscope|.

Опция задаёт команду, которая вызывается для выполнения cscope.
См. |cscopeprg|.
Эта опция не может быть изменена из |режимной_строки| или в |песочнице| по соображениям безопасности.

'cscopequickfix' 'csqf'

строка (по умолчанию: "")
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностями |+cscope| и |+quickfix|.

Опция указывает на необходимость использования окна быстрого исправления для вывода результатов cscope. См. |cscopequickfix|.

'cscopetag' 'cst'

переключатель (по умолчанию: выключено)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+cscope|.

Если эта опция включена, то cscope применяется при работе с командами меток. См. |cscope-опции|.

ЗАМЕЧАНИЕ: эта опция отключается при включении опции 'compatible'.

'cscopetagorder' 'csto'

число (по умолчанию: 0)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+cscope|.

Опция задаёт порядок, в котором происходит поиск по команде ":cstag".

См. |cscopetagorder|.

ЗАМЕЧАНИЕ: значение этой опции устанавливается равным 0 при включении опции 'compatible'.

'cscopeverbose' 'csverb'

переключатель (по умолчанию: выключено)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+cscope|.

Если эта опция включена, то Vim будет выводить сообщения при добавлении записей в базу данных cscope. См. |cscopeverbose|.

ЗАМЕЧАНИЕ: эта опция отключается при включении опции 'compatible'.

Опции: A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,R,S,T,U,V,W