Справочник по VIM

Опции K-O

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

‘key’

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

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

:set key=

Получить значение данной опции по команде «:set key» или «echo &key» невозможно. Это сделано для защиты пароля от посторонних глаз, но в то же время это означает и то, что вы не сможете попросить Vim напомнить вам значение этой опции, после того как она была изменена. Будьте осторожны, чтобы не допустить опечаток при вводе пароля!

‘keymap’ ‘kmp’

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

Опция задаёт имя раскладки клавиатуры. См. также раздел справки |мультибайт-раскладка_клавиатуры|.
Если в качестве значения данной опции будет использовано известное Vim имя раскладки клавиатуры, то в качестве побочного эффекта происходит установка значения опции ‘iminsert’ равным 1, что приводит к включению указанной раскладки. Кроме того, значение опции ‘imsearch’ также устанавливается равным 1, если до этого оно не было равно -1.

‘keymodel’ ‘km’

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

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

startselНажатие специальных кнопок совместно с клавишей <Shift> приводит к началу выделения (в Визуальном режиме или в режиме Выделения, в зависимости от присутствия флага «key» в значении опции ‘selectmode’).
stopselНажатие специальной кнопки без клавиши <Shift> приводит к завершению режима выделения.

В данном случае «специальными кнопками» называются кнопки перемещения курсора, <End>, <Home>, <PageUp> и <PageDown>. Значение опции ‘keymodel’ изменяется при выполнении команды |:behave|.

‘keywordprg’ ‘kp’

строка (по умолчанию: «man» или «man -s», в DOS: «:help», в OS/2: «view /», на VMS: «help»)
глобальная или местная по отношению к буферу опция |глобальные-местные|
Vi не имеет такой возможности.

Опция задаёт программу, которая вызывается по команде |K|. При разборе значения выполняется подстановка переменных окружения, как это описано в разделе |подстановка_переменных_окружения|. В качестве значения опции можно также использовать «:help», что позволяет обеспечить доступ к справочнику Vim (следует заметить, что в более ранних версиях команда «K» выполняла доступ к справочнику по умолчанию в тех случаях, когда в качестве глобального значения данной опции использовалась пустая строка, однако такое использование опции является устаревшим).

При использовании значения «man» Vim автоматически выполняет перевод числа-аргумента, использованного с командой «K», в номер раздела системного справочника. То же самое относится и к значению «man -s»: в данном случае «-s» будет удаляться, если число-аргумент не задано. О включении в значение опции пробелов и символов обратной косой черты см. в разделе |опции-обратная_косая|.

Пример:

:set keywordprg=man\ -s

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

‘langmap’ ‘lmap’

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

Эта опция позволяет переключать клавиатуру в специальный языковой режим. При вводе текста в режиме Вставки символы вставляются напрямую. В режиме команд опция ‘langmap’ обеспечивает перевод символов к оригинальному значению. Это позволяет выполнять команды Обычного режима без переключения раскладки клавиатуры. Данная опция представляет собой полную противоположность опции ‘keymap’, которая отвечает за раскладку в режиме Вставки. Опция работает только для 8-битных символов. Значение опции ‘langmap’ может быть задано с использованием мультибайтных символов, например в кодировке UTF-8, но при этом будут использоваться только младшие 8 бит каждого символа.

Пример (для русского языка):

:set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz

Пример (меняет местами z и y в командах):

:set langmap=zy,yz,ZY,YZ

Значение опции ‘langmap’ представляет собой список парных компонентов, разделённых запятыми. Каждый компонент может быть задан в одном из двух допустимых форматов:

  1. Список пар, в которых за исходным символом немедленно следует значение, в которое должен быть переведён этот символ. Например: «aA», «aAbBcC».
  2. Список исходных символов, точка с запятой ‘;’ и соответствующий список символов, в которые должны быть переведены исходные символы. Пример: «abc;ABC»

Пример: «aA,fgh;FGH,cCdDeE»

Специальные символы должны предваряться символом обратной косой черты. К специальным символам относятся «;», «,» и сам символ обратной косой.

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

  • в Обычном/Визуальном режиме (команды, имена буферов и регистров, пользовательские привязки)
  • в режиме Вставки/Замены: имена регистров после ввода CTRL-R
  • в режиме Вставки/Замены: привязки

Символы, которые вводятся в режиме командной строки, никак не затрагиваются настройками данной опции. Обратите внимание, что значение данной опции может быть изменено в любой момент, что позволяет переключать раскладки между различными языками и кодировками. Чтобы не вводить значение данной опции каждый раз, когда в этом возникает необходимость, можно воспользоваться привязками.

‘langmenu’ ‘lm’

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

Опция задаёт язык, на котором будут отображаться меню. Её значением является имя файла перевода меню, который должен находиться в каталоге «lang» в пути, заданном в значении опции ‘runtimepath’:

"lang/menu_" . &langmenu . ".vim"

(без пробелов).  Например, чтобы использовать меню на русском языке, независимо от значения переменной окружения $LANG, воспользуйтесь следующей командой:

:set langmenu=ru_RU.KOI8-R

Если значением опции ‘langmenu’ является пустая строка, то используется значение переменной |v:lang|.

Если переменной $LANG на вашей системе присвоено значение, отражающее выбор национального языка, но вы хотите использовать при работе с редактором английские меню, то этого можно добиться с помощью команды:

:set langmenu=none

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

:source $VIMRUNTIME/delmenu.vim
:set langmenu=de_DE.ISO_8859-1
:source $VIMRUNTIME/menu.vim

Предупреждение: при этом все меню, определённые пользователем, будут удалены!

‘laststatus’ ‘ls’

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

Значение этой опции влияет на обстоятельства, при которых в последнем окне будет отображаться строка состояния:

0:строка состояния не отображается
1:строка состояния отображается в том случае, когда имеется хотя бы два окна
2:строка состояния отображается всегда

Пользоваться несколькими окнами удобнее, если строка состояния включена, но каждая строка состояния занимает экранную строку.

См. |строка_состояния|.

‘lazyredraw’ ‘lz’

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

При включённой опции ‘lazyredraw’, экран не обновляется во время выполнения макросов, регистров и других команд, которые не вводятся непосредственно с клавиатуры. Кроме того, откладывается обновление заголовка окна. Для насильного обновления экрана используйте команду |:redraw|.

‘linebreak’ ‘lbr’

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

Если опция включена, то Vim будет переносить длинные строки на символе, который включён в значение опции ‘breakat’ вместо последнего символа, который умещается на экране. В отличие от опций ‘wrapmargin’ и ‘textwidth’ при переносе строки не происходит вставки символа <EOL> в файл, т.е. перенос затрагивает только отображение строки на экране, а не содержимое файла. Значение опции ‘showbreak’ может быть использовано для индикации перенесённых строк специальным символом, отображаемым в начале таких строк. Данная опция не используется при выключенной опции ‘wrap’ или включённой опции ‘list’.
Обратите внимание, что количество пробелов, отображаемое на месте символов <Tab> после символа <EOL>, как правило, не соответствует истине.

‘lines’

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

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

Vim сам ограничивает количество строк в соответствии с доступным размером экрана. Чтобы получить максимально высокое окно, можно воспользоваться командой

:set lines=999

Если вы видите меньше строк, чем должно быть, проверьте значение опции ‘guiheadroom’.

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

‘linespace’ ‘lsp’

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

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

‘lisp’

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

Опция включает режим Lisp: При вводе <Enter> в режиме Вставки, отступ для следующей строки устанавливается в соответствии со стандартами языка Lisp. То же самое происходит и по командам «cc» и «S». Для включения данного режима также следует включить опцию ‘autoindent’. Флаг ‘p’ в списке значений опции ‘cpoptions’ позволяет переключать метод вычисления отступа между Vi-совместимым и более качественным. См. также справку по опции ‘lispwords’.

Символ ‘-‘ включён в набор ключевых символов. Если значение опции ‘equalprg’ не задано, то вместо вызова внешней программы при использовании оператора «=» применяется тот же самый алгоритм вычисления отступа строки. Данная опция не используется при включённой опции ‘paste’.

Vi работает с этой опцией несколько иначе.

‘lispwords’ ‘lw’

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

Опция содержит список слов, влияющих на вычисление отступов в режиме Lisp. Слова разделяются запятыми.
См. также |’lisp’|.

‘list’

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

Опция включает режим Списка: символы табуляции отображаются в виде CTRL-I, конец строки отображается в виде $. Этот режим полезен для отображения различий между символами табуляции и пробелами и для наглядного отображения пробельных символов на хвосте строки.

Обратите внимание, что данный режим влияет на режим форматирования текста (установленный при помощи опции ‘textwidth’ или ‘wrapmargin’), если значение опции ‘cpoptions’ содержит флаг ‘L’. Об изменении символов, которые используются для отображения табуляции в этом режиме, читайте в справке по опции ‘listchars’.

‘listchars’ ‘lcs’

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

Опция позволяет задавать символы, которые используются в режиме списка ‘list’. Значение опции представляет собой список разделённых запятыми настроек.

eol:cСимвол, отображаемый в конце каждой строки. Если символ не задан, то конец строки в режиме списка не отображается.
tab:xyПара символов, которая используется для отображения символа табуляции. Первый символ используется один раз, второй символ повторяется до тех пор, пока не будет заполнено пространство, которое занято символом табуляции. Например, установка «tab:>-» позволяет отображать символ табуляции, который занимает четыре пробела, в виде «>—«. Если не задано, то символ табуляции отображается в виде ^I.
trail:cСимвол, который используется для отображения хвостовых пробелов в конце строки. Если не задан, то хвостовые пробелы не отображаются.
extends:cСимвол, который отображается в последней колонке при выключенной опции ‘wrap’, если строка продолжается за пределами правой границы окна.
precedes:cСимвол, который отображается в первой колонке при выключенной опции ‘wrap’, если в строке имеются символы, расположенные за пределами левой границы экрана.

Символы ‘:’ и ‘,’ не должны использоваться в качестве значений для данной опции. Если значением опции ‘encoding’ является «utf-8», то в качестве значений данной опции можно использовать символы UTF-8, в противном случае позволяется использовать только печатные символы.

Примеры:

:set lcs=tab:>-,trail:-
:set lcs=tab:>-,eol:<
:set lcs=extends:>,precedes:<

Для «eol», «extends» и «precedes» используется группа подсветки «NonText», а для «tab» и «trail» — группа подсветки «SpecialKey».

‘loadplugins’ ‘lpl’

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

Если данная опция включена, то при запуске редактора выполняется |загрузка_модулей|. Эта опция может быть отключена в сценарии запуска редактора |vimrc| для предотвращения загрузки модулей.

Обратите внимание, что данная опция также отключается, если редактор запускается с ключом командной строки «-u NONE» или «—noplugin» (см. |-u|, |—noplugin|).

‘magic’

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

Опция изменяет специальные символы, которые используются в шаблонах поиска. См. |шаблон|.

ЗАМЕЧАНИЕ: Во избежание проблем с переносимостью шаблонов старайтесь всегда держать данную опцию включённой. Выключение данной опции может понадобиться только при работе со старыми сценариями Vi. Во всех остальных ситуациях составляйте шаблоны в расчёте на то, что опция ‘magic’ находится во включённом состоянии.

‘makeef’ ‘mef’

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

Опция задаёт имя файла ошибок для вывода команды |:make| (см. |:make_makeprg|) и команды |:grep|.

Если значением опции является пустая строка, то в качестве файла ошибок используется временный файл, автоматически создаваемый редактором. Если в имени файла присутствуют символы «##», то они заменяются неким числом, чтобы имя файла было уникальным. Это позволяет гарантировать, что команда «:make» не станет перезаписывать уже существующий файл.

Данная опция НЕ используется при работе команды «:cf». Подробнее см. справку по опции ‘errorfile’.

При обработке значения опции выполняется подстановка переменных окружения, см. |подстановка_переменных_окружения|. Об использовании пробелов и символов обратной косой черты см. в разделе |опции-обратная_косая|.

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

‘makeprg’ ‘mp’

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

Опция задаёт программу, которая используется при выполнении команды «:make», см. |:make_makeprg|. Значение опции может содержать символы ‘%’ и ‘#’, которые используются так же, как и в командной строке. При обработке значения опции выполняется подстановка переменных окружения, см. |подстановка_переменных_окружения|. Об использовании пробелов и символов обратной косой черты см. в разделе |опции-обратная_косая|. Обратите внимание, что символ ‘|’ должен экранироваться дважды: сначала для команды «:set», а затем при разборе самой команды. Например, при использовании программы-фильтра «myfilter», опция может быть задана примерно так:

:set makeprg=gmake\ \\\|\ myfilter

Для включения аргументов в состав опции следует пользоваться последовательностью символов «$*». Эти символы включаются в значение в месте появления аргументов и могут быть использованы неоднократно.

Например:

:set makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*}

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

‘matchpairs’ ‘mps’

строка (по умолчанию: «(:),{:},[:]»)
местная по отношению к буферу опция
Vi не имеет такой возможности.

Опция задаёт наборы парных символов, по которым команда |%| выполняет перемещения внутри текста. В текущей версии допускается использование только одиночных символов в каждой паре, а сами символы не должны совпадать друг с другом. Символы разделяются двоеточием, а пары отделяются друг от друга запятой. Например, чтобы включить в набор парных символов ‘<‘ и ‘>’ (полезно для HTML):

:set mps+=<:>

Несколько более экзотический пример, который позволяет перемещаться между символами ‘=’ и ‘;’ в операторе присваивания в языках C и Java:

:au FileType c,cpp,java set mps+==:;

Более продвинутый способ использования команды «%» предлагает модуль matchit.vim в каталоге $VIMRUNTIME/macros, см. |matchit-установка|.

‘matchtime’ ‘mat’

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

Опция задаёт время, в десятых долях секунды, во время которого отображается парная скобка, при включённой опции ‘showmatch’.

Обратите внимание, что время задаётся не в миллисекундах, как большинство других опций, имеющих дело с временными интервалами, а в десятых долях секунды. Это сделано для совместимости с Nvi.

‘maxfuncdepth’ ‘mfd’

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

Опция задаёт максимальное число вложений для вызовов пользовательских функций, что позволяет избежать бесконечной рекурсии. При использовании рекурсивной функции с большим числом вложений может понадобиться изменить значение ‘maxfuncdepth’, однако имейте в виду, что увеличение этого значения приводит к увеличению потребности редактора в объёме свободной памяти. См. также |:function|.

‘maxmapdepth’ ‘mmd’

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

Максимальное число выполнения привязок, при превышении которого привязка приводит к выдаче используемого символа. Опция позволяет избежать бесконечных привязок, вроде «:map x y» и «:map y x», однако она не влияет на привязки типа «:map g wg», поскольку в данном случае перед символом привязки используется другой символ, ‘w’. См. также |привязки_кнопок|.

‘maxmem’ ‘mm’

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

Максимальное количество памяти (в килобайтах), которое используется для одного буфера. При превышении заданного в значении данной опции ограничения происходит выделение дополнительной памяти за счёт освобождения памяти в других областях. Максимально возможное значение данной опции составляет 2000000, что соответствует работе без ограничения памяти. См. также справку по опции ‘maxmemtot’.

‘maxmemtot’ ‘mmt’

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

Максимальное количество памяти (в килобайтах), которое доступно для всех буферов вместе. Максимально возможное значение данной опции 2000000, что соответствует работе без ограничения памяти. См. также справку по опции ‘maxmem’.

‘menuitems’ ‘mis’

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

Опция задаёт максимальное количество элементов в меню. Это значение используется в меню, которые создаются из списка элементов, например меню «Буферы». Изменение этой опции не имеет прямого эффекта, т.к. меню должно быть сначала обновлено.

‘modeline’ ‘ml’

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

‘modelines’ ‘mls’

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

При включённой опции ‘modeline’ опция ‘modelines’ задаёт количество строк, которые проверяются на предмет наличия команд изменения значений опций. При выключенной опции ‘modeline’ или значении опции ‘modelines’ равным нулю ни одна строка проверяться не будет.

См. |режимная_строка|.

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

‘modifiable’ ‘ma’

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

В выключенном состоянии опция указывает, что содержимое буфера не может быть изменено. При этом также невозможно изменение значений опций ‘fileformat’ и ‘fileencoding’.

Опция может быть отключена при запуске Vim с помощью ключа командной строки |-M|.

‘modified’ ‘mod’

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

При включённом состоянии данной опции буфер считается изменённым.

Опция включается автоматически в следующих случаях:

  1. При внесении изменений в текст по сравнению с моментом выполнения последней операции записи. При выполнении |отмены| команды для возврата к первоначальному варианту текста опция выключается. Однако, отмена изменений, внесённых до момента последней записи буфера, приводит к повторному включению данной опции, поскольку текст в буфере в этом случае будет отличаться от сохранённого варианта.
  2. При изменении значения опции ‘fileformat’ или ‘fileencoding’ по сравнению с первоначальным значением, которое было установлено при чтении файла или в момент последнего сохранения буфера на диск. Команда «:set nomodified» приводит к изменению первоначальных значений этих опций на текущие с одновременным выключением опции ‘modified’.

Если значением опции ‘buftype’ является строка «nowrite» или «nofile», то значение данной опции будет игнорироваться (хотя оно и может быть изменено).

‘more’

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

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

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

‘mouse’

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

Опция используется для включения поддержки мыши и работает только на некоторых терминалах (xterm, MS-DOS, Win32 (см. |win32-мышь|), qnx pterm, консоль Linux с gpm). Подробнее об использовании мыши в графическом интерфейсе см. |графический_интерфейс-мышь|.

Поддержка мыши может быть включена для различных режимов:

nОбычный режим
vВизуальный режим
iрежим Вставки
cрежим Командной строки
hвсе вышеперечисленные режимы при редактировании файла справки
aвсе вышеперечисленные режимы
rдля приглашений |нажмите-enter| и |продолжение_следует|
Aавтоматическое выделение в Визуальном режиме

Как правило мышь включается для всех четырёх режимов при помощи команды

:set mouse=a

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

См. |использование_мыши|, а также справку по опции ‘clipboard’.

Замечание: при включении мыши на терминале операции копирования и вклейки текста будут использовать регистр «*, если Vim имеет доступ к серверу X. В этом случае, чтобы использовать мышь в стиле xterm, необходимо одновременно с нажатием кнопок мыши удерживать кнопку <shift> на клавиатуре. См. справку по опции ‘clipboard’.

‘mousefocus’ ‘mousef’

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

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

‘mousehide’ ‘mh’

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

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

‘mousemodel’ ‘mousem’

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

Опция задаёт модель мыши. Значение опции в основном соответствует действиям, которые производятся при нажатии правой кнопки мыши:

extendПравая кнопка мыши используется для расширения выделенного фрагмента текста. Именно так мышь работает в xterm.
popupПри нажатии правой кнопки мыши вызывается контекстное меню. Для расширения выделенного фрагмента текста используется совместное нажатие левой кнопки мыши и кнопки <Shift> на клавиатуре. Таким образом мышь работает в Microsoft Windows.
popup_setposТо же, что и «popup», но при этом курсор перемещается в позицию, где произошло нажатие кнопки мыши. При этом выбранная операция применяется к выбранному объекту. Если нажатие кнопки мыши происходит внутри выделенного фрагмента, то курсор не перемещается, а операция применяется к этому фрагменту. Это, конечно же, подразумевает, что при нажатии правой кнопки мыши за пределами выделенного фрагмента происходит выход из Визуального режима.

Обзор действий, которые выполняются при нажатии кнопок мыши в различных моделях:

мышьextendpopup(_setpos)
нажатие левой кнопкиперемещение курсораперемещение курсора
перемещение с нажатой левой кнопкойначало выделенияначало выделения
нажатие левой кнопки совместно с <shift>поиск словарасширение выделения
нажатие правой кнопкирасширение выделениявызов контекстного меню (с перемещением курсора)
перемещение с нажатой правой кнопкойрасширение выделения
нажатие средней кнопкивклейка текставклейка текста

При использовании модели «popup» нажатие правой кнопки мыши приводит к вызову контекстного меню. Контекстное меню должно быть заранее определено, как это описано в разделе |контекстное_меню|.

Обратите внимание, что привязки позволяют выполнить дальнейшую настройку значений кнопок мыши, см. раздел справки |графический_интерфейс-мышь-привязки|. Однако, привязки НЕ используются для безрежимного выделения (поскольку это обрабатывается непосредственно процедурами графического интерфейса).

Значение опции ‘mousemodel’ изменяется при выполнении команды |:behave|.

‘mouseshape’ ‘mouses’

строка (по умолчанию: «i:beam,r:beam,s:updown,sd:cross,m:no,ml:up-arrow,v:rightup-arrow»)
глобальная опция
Vi не имеет такой возможности.
Доступно только в том случае, если Vim скомпилирован с особенностью |+mouseshape|.

Опция задаёт внешний вид курсора мыши в различных режимах. Значением опции является список парных элементов, разделённых запятыми, похожий на значение опции ‘guicursor’. Каждый элемент состоит из списка режимов/позиций и списка аргументов:

список_режимов:внешний_вид,список_режимов:внешний_вид,..

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

 В обычном окне:
nОбычный режим
vВизуальный режим
veВизуальный режим при значении опции ‘selection’ равном «exclusive» (то же, что и ‘v’, если не задано)
oРежим ожидания ввода оператора
iРежим Вставки
rРежим Замены
 В остальных местах:
cДобавление в командной строке
ciВставка в командной строке
crЗамена в командной строке
mПри выводе приглашений |нажмите-enter| и |продолжение_следует|
mlТо же, но при нахождении курсора в последней строке
eВ любом режиме, если курсор находится снизу от последнего окна
sВ любом режиме, если курсор находится на строке состояния
sdВ любом режиме, во время перемещения строки состояния
vsВ любом режиме, если курсор находится на вертикальном разделителе окон
vdВ любом режиме, во время перемещения вертикального разделителя окон
aВ любой позиции

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

платформаимявнешний вид
w xarrowОбычный курсор мыши
w xblankКурсор не отображается (осторожно!)
w xbeamТекстовый I-курсор
w xupdownСтрелки вверх-вниз
w xleftrightСтрелки влево-вправо
w xbusyКурсор, отображающий занятость системы
w xnoКурсор, отображающий отсутствие ввода
xudsizingКурсор изменения вертикальных размеров
xlrsizingКурсор изменения горизонтальных размеров
xcrosshairКурсор, напоминающий большое тонкое перекрестие +
xhand1Чёрная рука
xhand2Белая рука
xpencilКарандаш
xquestionБольшой знак вопроса ?
xrightup-arrowСтрелка вправо вверх
w xup-arrowСтрелка вверх
x<число>любой курсор X11 по номеру (см. X11/cursorfont.h)

В колонке «платформа» ‘w’ указывает, что данный внешний вид курсора доступен в Win32, а ‘x’ указывает, что внешний вид доступен в X11.

Во всех остальных режимах, не указанных выше, используется обычный курсор мыши. Если заданный внешний вид не доступен, то также используется обычный курсор.

Например, команда

:set mouseshape=s:udsizing,m:no

заставляет курсор мыши принимать форму курсора изменения вертикальных размеров над строками состояния и форму курсора отсутствия ввода при выводе приглашения |нажмите-enter| (поскольку нажатие мыши в данном состоянии не имеет никакого эффекта).

‘mousetime’ ‘mouset’

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

Опция применяется только в режиме графического интерфейса, на MS-DOS, Win32 и в Unix xterm. Она задаёт максимальный интервал времени в миллисекундах между двумя нажатиями кнопки мыши, в течение которого второе нажатие мыши будет фиксироваться как двойное нажатие.

‘nrformats’ ‘nf’

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

Опция определяет систему счисления, которую Vim будет использовать при выполнении команд CTRL-X и CTRL-A для добавления и вычитания; подробнее об этих командах можно прочитать в разделе справочника |CTRL-A|.

alphaЕсли включено в значение опции, то Vim будет увеличивать и уменьшать соответствующие одиночные алфавитные символы. Это может быть полезно для списков, которые используют алфавитные указатели, например a), b) и т.д.
octalЕсли включено в значение опции, то Vim будет рассматривать числа, начинающиеся с нуля, как восьмеричные. Например: применение команды CTRL-A к строке «007» приводит к получению строки «010».
hexЕсли включено в значение опции, то числа, начинающиеся с «0x» или «0X» будут рассматриваться редактором в качестве шестнадцатеричных. Например: применение команды CTRL-X к строке «0x100» приводит к получению строки «0x0ff».

Числа, которые начинаются с цифры в диапазоне от 1 до 9 всегда считаются десятичными. То же самое происходит и в том случае, когда число не распознаётся в качестве восьмеричного или шестнадцатеричного.

‘number’ ‘nu’

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

Опция позволяет выводить перед каждой строкой её порядковый номер. Если в значении опции ‘cpoptions’ отсутствует флаг ‘n’, то длинные перенесённые строки не будут использовать колонку нумерации строк для вывода текста (так происходит по умолчанию, если опция ‘compatible’ выключена). Если длинная перенесённая строка не начинается с первого символа, то перед номером строки отображаются знаки ‘-‘. О настройке подсветки номера строки см. раздел справки |подсветка-LineNr|.

‘osfiletype’ ‘oft’

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

На некоторых операционных системах сохраняется дополнительная информация о файлах, помимо имени, времени создания и прав доступа. Данная опция может содержать такого рода информацию, в зависимости от используемой операционной системы. Значение этой опции как правило изменяется при загрузке файла в редактор и используется для сохранения типа файла при записи.

Данная опция может оказывать влияние на поиск соответствий шаблонам в автокомандах, см. |автокоманды-тип_файла_в_разных_системах|.

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