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

Опции S

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

‘scroll’ ‘scr’

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

Число строк для прокрутки при помощи команд CTRL-U и CTRL-D. При изменении размера окна значение опции устанавливается равным половине высоты окна. При использовании команд CTRL-U и CTRL-D с указанием числа, заданный параметр используется в качестве нового значения опции ‘scroll’. Для сброса значения опции к принятому по умолчанию (половина высоты окна), используйте команду «:set scroll=0».
Vi: опция работает немного иначе. Вместо строк в файле используются экранные строки, что приводит к другим результатам при наличии длинных перенесённый строк.

‘scrollbind’ ‘scb’

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

См. также |прокрутка-синхронная|. Если данная опция находится во включённом состоянии, то текущее окно прокручивается вместе с другими окнами, для которых эта опция также включена. Опция ‘scrollbind’ полезна при просмотре различий между двумя файлами, см. справку по опции ‘diff’.

Механизм работы данной опции определяется значением опции ‘scrollopt’|.

В большинстве случаев данная опция автоматически отключается при разделении окна для редактирования нового файла. В частности, по команде «:split файл» синхронная прокрутка отключается. Для сохранения синхронной прокрутки при редактировании нового файла используйте команду «:split | edit file».

‘scrolljump’ ‘sj’

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

Опция задаёт минимальное количество строк для прокрутки в ситуации, когда курсор выходит за границу окна (например, по команде «j»).

Значение этой опции не используется для команд прокрутки (таких как CTRL-E, CTRL-D). Опция полезна для тонкой настройки в тех случаях, когда прокрутка на вашем терминале происходит слишком медленно.

ЗАМЕЧАНИЕ: Значение данной опции автоматически изменяется на 1 при включении опции ‘compatible’.

‘scrolloff’ ‘so’

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

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

Аналогичная опция для горизонтальной прокрутки: ‘sidescrolloff’.

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

‘scrollopt’ ‘sbo’

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

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

Допустимо использование следующих слов:

verВыполняется вертикальная синхронизация окон, для которых включена опция ‘scrollbind’
horВыполняется горизонтальная синхронизация окон, для которых включена опция ‘scrollbind’
jumpОпределяет работу со смещением между двумя окнами с синхронной вертикальной прокруткой. Смещение представляет разницу между двумя первыми строками в синхронизированных окнах. При выполнении прокрутки в одном из окон с включённой опцией ‘scrollbind’, другое окно может быть прокручено в положение до начала или после конца буфера. При этом величина смещения не изменяется, так что при повторной прокрутке такого окна в обратном направлении Vim попытается восстановить необходимые положения текста в буферах относительно друг друга. При изменении текущего окна возможны два варианта работы с относительным смещением:

  1. При отсутствии слова «jump» в значении опции ‘scrollopt’, относительное смещение изменяется в соответствии с положением прокрутки в новом текущем окне. При возврате в предыдущее окно используется новое значение смещения.
  2. При наличии слова «jump» в значении данной опции, все окна прокручиваются так, чтобы сохранялось относительное смещение, которое используется в том числе и при перемещении между окнами.

См. также |прокрутка-синхронная|.

‘sections’ ‘sect’

строка (по умолчанию: «SHNHH HUnhsh»)
глобальная опция

Опция задаёт макросы nroff, которые используются для разделения разделов. Каждый макрос является набором из двух символов (см. также |перемещения-по_объектам|). Значение по умолчанию задаёт начала разделов в позиции следующих макросов nroff: «.SH», «.NH», «.H», «.HU», «.nh» and «.sh».

‘secure’

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

При включённом состоянии этой опции команды оболочки и записи не могут быть включены в файлы «.vimrc» и «.exrc» в текущем каталоге и отображаются команды привязок. Опцию следует выключать только если вы уверены, что это не приведёт к проблемам, или если опция ‘exrc’ выключена. На Unix данная опция используется только в том случае, если владелец файла «.vimrc» или «.exrc» отличается от пользователя, от имени которого исполняется редактор. Это может быть потенциально опасным, если система позволяет пользователям выполнять команду «chown». В таком случае лучше всего включить опцию ‘secure’ в конце файла ~/.vimrc.

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

‘selection’ ‘sel’

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

Данная опция влияет на поведение выделения. Она используется только в режиме Выделения и в Визуальном режиме.

Возможны следующие значения этой опции:

значениепосле строкивключительно
oldнетда
inclusiveдада
exclusiveданет

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

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

Опция ‘selection’ включается по команде |:behave|.

‘selectmode’ ‘slm’

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

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

Возможные значения:

mouseпри использовании мыши
keyпри использовании специальных кнопок совместно с кнопкой <Shift>
cmdпри использовании «v», «V» или CTRL-V

См. также |режим_выделения|.

Опция ‘selectmode’ включается по команде |:behave|.

‘sessionoptions’ ‘ssop’

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

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

словосохранение и восстановление
blankпустые окна
buffersскрытые и выгруженные буферы, в том числе не отображаемые в окне
curdirтекущий каталог
foldsопределённые вручную складки, состояние складок (открытые или закрытые), местные опции, относящиеся к складкам
globalsглобальные переменные, имена которых начинаются с прописной буквы и содержат хотя бы одну строчную букву.
helpокно справки
localoptionsместные по отношению к окну опции и привязки (не глобальные значения для местных опций)
optionsвсе опции и привязки (в том числе глобальные значения для местных опций)
resizeразмеры окна Vim: ‘lines’ и ‘columns’
sesdirкаталог, в котором сохраняется файл сеанса, становится текущим каталогом (полезно для работы над проектами, доступными для различных систем по сети)
slashсимволы обратной косой черты в именах файлов заменяются на символы прямой косой черты
unixсохранять в формате Unix (символ конца строки — одиночный символ <NL>), даже в том случае, если редактирование происходит в Windows или в DOS
winposположение окна редактора Vim
winsizeразмеры окон

Не следует одновременно включать в значение опции слова «curdir» и «sesdir».

Если слова «curdir» и «sesdir» отсутствуют в значении опции, то имена файлов сохраняются в виде абсолютных путей. Слова «slash» и «unix» полезны при работе в Windows, когда файлы сеансов могут быть также использованы при работе в Unix. Unix-версия Vim не может работать со сценариями в формате dos, в отличие от версии Windows, которая способна работать с файлами сценариев в формате unix.

‘shell’ ‘sh’

строка (по умолчанию $SHELL или «sh», в MS-DOS и Win32: «command.com» или «cmd.exe»,  на OS/2: «cmd»)
глобальная опция

Имя командной оболочки для команд ! и :!. Изменение значения данной опции также требует внимания к значениям следующих опций: ‘shelltype’, ‘shellpipe’, ‘shellslash’, ‘shellredir’, ‘shellquote’, ‘shellxquote’ и ‘shellcmdflag’.

Допускается указание дополнительных аргументов для команды вызова оболочки, например: «csh -f».

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

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

:set shell=\"c:\program\ files\unix\sh.exe\"\ -f

Обратите внимание на символ обратной косой черты перед каждым символом кавычки, который необходим, поскольку символ кавычки используется в командах Vim в качестве символа начала комментария, а также перед каждым пробелом (чтобы избежать преждевременного завершения значения опции). Также обратите внимание, что аргумент команды оболочки «-f» не помещается внутри кавычек, поскольку он не является частью имени команды. Заметим также, что Vim автоматически распознаёт символы обратной косой черты, являющиеся разделителем в путевом имени файла. В 32-битном режиме Dos (DJGPP) можно использовать переменную окружения $DJSYSFLAGS для изменения параметров выполнения внешних команд.

Подробнее об этом смотрите в файле libc.inf в составе DJGPP. На MS-Windows необходимо включать расширение исполняемого файла, если этим расширением является «.com». Иначе говоря, в качестве значения данной опции следует указывать «command.com» или «4dos.com», поскольку «command» и «4dos» в некоторых случаях может не сработать (например, при использовании команд-фильтров).

По неизвестным причинам при использовании «4dos.com» текущий каталог изменяется на «C:\». Чтобы избежать такого поведения можно использовать примерно такой вариант настройки:

:set shell=command.com\ /c\ 4dos

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

‘shellcmdflag’ ‘shcf’

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

Опция используется для указания аргумента, который передаётся команде вызова оболочки для выполнения команд «!» и «:!»; например, «bash.exe -c ls» или «command.com /c dir». В MS-DOS-подобных системах значение данной опции по умолчанию устанавливается в соответствии со значением опции ‘shell’, чтобы уменьшить необходимость изменения значения этой опции пользователем. На OS/2 данная опция не используется (EMX самостоятельно определяет необходимое значение). О включении пробелов и символов обратной косой черты в значение опции читайте в разделе |опции-обратная_косая|. См. также |dos-оболочка|.

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

‘shellpipe’ ‘sp’

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

Опция используется для указания строки, которая заставляет оболочку помещать вывод команды «:make» в файл ошибок. См. также |:make_makeprg|. О включении пробелов и символов обратной косой черты в значение опции читайте в разделе |опции-обратная_косая|.

Имя временного файла может быть при необходимости представлено в виде «%s» (если %s не указано в значении данной опции, то имя файла добавляется автоматически).

На Amiga и MS-DOS значением по умолчанию является «>». Вывод сохраняется в файле напрямую и не отображается на экране. В Unix значением по умолчанию является «| tee». Стандартный поток вывода stdout компилятора сохраняется в файле и отображается на экране. Если значение опции ‘shell’ равно «csh» или «tcsh», то после выполнения операции инициализации значение данной опции по умолчанию изменяется на «|& tee». Если значение опции ‘shell’ равно «sh», «ksh», «zsh» или «bash», то значение данной опции по умолчанию устанавливается равным «2>&1| tee». Это приводит к тому, что в файл ошибок также сохраняется и стандартный поток ошибок stderr.

Инициализация значения данной опции выполняется после чтения файла «.vimrc» и всех остальных инициализаций, поэтому при изменении значения опции ‘shell’ происходит также и изменение значения опции ‘shellpipe’, если оно не было явным образом задано раннее. Если значение опции ‘shellpipe’ устанавливается равным пустой строке, то перенаправление вывода программы, вызываемой по команде «:make», производиться не будет. Такой вариант может оказаться полезным, если опция ‘makeprg’ задаёт программу, которая выполняет запись непосредственно в файл, заданный значением опции ‘makeef’. Если вы хотите избежать перенаправления вывода, но вам необходимо задать имя файла, указанное в значении опции ‘makeef’, то установите значение опции ‘shellpipe’ равным одиночному пробелу. При этом необходимо помнить, что пробел следует экранировать при помощи символа обратной косой черты:»:set sp=\ «. В будущих версиях для работы программ-фильтров может быть использовано перенаправление по трубе и эта опция перестанет быть необходимой (по крайней мере в Unix).

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

‘shellquote’ ‘shq’

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

Опция задаёт символы, которые используются в качестве кавычек, окружающих команду, которая передаётся оболочке при выполнении команд «!» и «:!». Перенаправление выполняется снаружи команды, заключённой в кавычки. Чтобы включить перенаправление внутри команды в кавычках, обратитесь к опции ‘shellxquote’. Как правило, следует изменять значение только одной из данных двух опций.

По умолчанию значением опции является пустая строка. Опция полезна в основном при использовании некоторых оболочек независимых производителей для MS-DOS-подобных систем, таких как MKS Korn Shell или bash, где значение данной опции должно быть равно «\»». Значение по умолчанию автоматически подстраивается в зависимости от значения опции ‘shell’, чтобы уменьшить необходимость изменения данной опции пользователем. См. также |dos-оболочка|.

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

‘shellredir’ ‘srr’

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

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

Имя временного файла может быть при необходимости представлено в виде «%s» (если %s не указано в значении данной опции, то имя временного файла добавляется автоматически).

Значением по умолчанию является «>». В Unix, если значение опции ‘shell’ во время операций инициализации изменяется на «csh», «tcsh» или «zsh», значение данной опции по умолчанию изменяется на «>&». Если значение опции ‘shell’ равно «sh», «ksh», или «bash», то значение данной опции по умолчанию устанавливается равным «>%s 2>&1». Это приводит к тому, что в тот же файл также будет перенаправлен и стандартный поток ошибок stderr.

На Win32 действуют те же правила, что и для Unix систем, кроме случая, когда значением опции ‘shell’ является строка «cmd», которая приводит к установке в качестве значения данной опции по умолчанию строки «>%s 2>&1». Кроме того, также производятся описанные выше проверки имени исполняемого файла оболочки с добавлением расширения «.exe». Инициализация значения данной опции выполняется после исполнения сценария «.vimrc» и всех остальных операций по инициализации, поэтому при изменении значения опции ‘shell’ в сценарии запуска значение опции ‘shellredir’ изменяется автоматически, если оно не было явным образом изменено раннее.

В будущих версиях для работы программ-фильтров может быть использовано перенаправление по трубе и эта опция перестанет быть необходимой (по крайней мере в Unix).

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

‘shellslash’ ‘ssl’

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

Если данная опция находится во включённом состоянии, то при подстановке имён файлов используется символ прямой косой черты в качестве разделителя компонентов пути к файлу. Это может быть полезным при использовании Unix-подобной оболочки вместо command.com или cmd.exe. Данная опция не мешает пользователю вводить символы обратной косой черты в качестве разделителей компонентов пути, но Vim автоматически заменяет их на символы прямой косой черты.

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

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

if exists('+shellslash')

‘shelltype’ ‘st’

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

Данная опция позволяет изменять поведение команд, использующих оболочку, на Amiga.

0 и 1: оболочка используется во всех случаях
2 и 3: оболочка используется только для выполнения команд-фильтров
4 и 5: оболочка используется только для команды ‘:sh’

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

0 и 2: для запуска внешних команд используется «shell ‘shellcmdflag’ cmd»
1 и 3: для запуска внешних команд используется «shell cmd»

‘shellxquote’ ‘sxq’

строка (по умолчанию: «»; в Win32, если значение опции ‘shell’ содержит подстроку «sh»: «\»», в Unix, если используется вызов system(): «\»»)
глобальная опция
Vi не имеет такой возможности.

Опция задаёт символы, которые используются в качестве кавычек, окружающих команду, которая передаётся оболочке при выполнении команд «!» и «:!». Текст внутри кавычек включает также команды перенаправления потоков вывода. Чтобы вынести команды перенаправления за кавычки, следует использовать опцию ‘shellquote’. Как правило, следует изменять значение только одной из данных двух опций.

Значением данной опции по умолчанию является пустая строка. Опция может быть полезна при использовании некоторых оболочек для Win32 от независимых производителей, таких как MKS Korn Shell или bash, где значение данной опции должно быть равно «\»». Значение данной опции автоматически подстраивается в зависимости от значения опции ‘shell’, чтобы уменьшить необходимость изменения данной опции пользователем.

См. также |dos-оболочка|.

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

‘shiftround’ ‘sr’

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

Опция позволяет округлять значение отступа до величины, кратной значению опции ‘shiftwidth’. Опция используется при выполнении команд > и <. Команды режима Вставки CTRL-T и CTRL-D всегда выполняют округление значения отступа до величины, кратной значению опции ‘shiftwidth’, независимо от значения данной опции (такое поведение является совместимым с Vi).

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

‘shiftwidth’ ‘sw’

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

Опция задаёт количество пробелов в каждом символе табуляции. Это значение используется при выполнении команд |’cindent’|, |>>|, |<<| и т.д.

‘shortmess’ ‘shm’

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

Опция позволяет избежать вывода приглашений |нажмите-enter| за счёт сокращения длины сообщений, которые Vim выводит в процессе работы, например, сообщения о файлах, которые выдаются по нажатию CTRL-G.

Значение опции представляет собой набор нижеперечисленных флагов:

флагзначение флага (если присутствует в составе значения опции)
fиспользовать «(3 из 5)» вместо «(файл 3 из 5)»
iиспользовать «[noeol]» вместо «[Незавершенная последняя строка]»
lиспользовать «999L, 888C» вместо «999 стр., 888 симв.»
mиспользовать «[+]» вместо «[Изменён]»
nиспользовать «[Новый]» вместо «[Новый файл]»
rиспользовать «[RO]» вместо «[только для чтения]»
wиспользовать «[w]» вместо «записано» для сообщения о записи файла и «[a]» вместо «добавлено» для сообщения о выполнении команды ‘:w >> file’
xиспользовать «[dos]» вместо «[формат dos]», «[unix]» вместо «[формат unix]» и «[mac]» вместо «[формат mac]»
aвсе вышеперечисленные сокращения
oзаменять сообщение о записи файла последующим сообщением о чтении файла (полезно при выполнении команды «:wn» или при включённой опции ‘autowrite’).
Oсообщение о чтении файла заменяет любое предыдущее сообщение. Это также относится и к сообщениям быстрой правки (например, при работе команды «:cn»).
sне выводить сообщения «поиск будет продолжен с НАЧАЛА документа» и «поиск будет продолжен с КОНЦА документа»
tобрезать начало сообщения о файле, если сообщение не помещается в командной строке; в первой колонке слева отображается символ «<«. Флаг игнорируется в режиме Ex.
Tсокращать среднюю часть остальных сообщений, заменяя её на символы «…», если сообщение не помещается в командной строке. Флаг игнорируется в режиме Ex.
Wне выводить «записано» или «[w]» при записи файла
Aне выводить сообщение «ВНИМАНИЕ» при обнаружении существующего своп-файла
Iне выводить заставку при запуске Vim |:intro|.

Перечисленные флаги предоставляют возможность настроить редактор таким образом, чтобы избежать необходимости нажатия <Enter> при переходе между буферами, вместе с тем предоставляя обратную связь при помощи сокращённых сообщений. Для вывода полного сообщения о файле в том виде, как оно отображается на экране при пустом значении опции ‘shm’, используйте команду «:file!».

Полезные значения:

shm=Сообщения не сокращаются.
shm=aСообщения сокращаются, но доступная информация присутствует полностью.
shm=atСообщения сокращаются, при необходимости сообщение может быть обрезано.

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

‘shortname’ ‘sn’

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

Имена файлов при включённой опции ‘shortname’ рассматриваются как состоящие из 8 символов и 3-символьного расширения. В имени файла при этом допускается только одна точка, поэтому при добавлении дополнительного расширения («.~» или «.swp») точки заменяются на символы подчёркивания. Данная опция недоступна на MS-DOS, поскольку на этой платформе она в любом случае должна быть всегда включена. Опция может быть полезной при редактировании файлов на MS-DOS-совместимой файловой системе, например на messydos или crossdos. При запуске графической версии редактора для Win32 в условиях Win32s эта опция всегда включена по умолчанию.

‘showbreak’ ‘sbr’

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

Опция используется для указания символов, которые должны быть показаны в начале длинных строк, отображаемых на экране в виде нескольких строк. Например, можно в качестве значений использовать «> » или «+++ «.

В значении данной опции допускается использование только печатных символов, занимающих на экране одно знакоместо, исключая символ <Tab> и запятую (в будущих версиях запятая может быть использована для разделения в значении опции символов, отображаемых в начале и в конце длинной строки).

Символы, заданные в значении данной опции, подсвечиваются в соответствии со значением флага ‘@’ опции ‘highlight’.

Обратите внимание, что символы табуляции после символов, заданных в значении опции ‘showbreak’, отображаются иначе. Чтобы отображать символы, заданные в значении данной опции, между номерами строк, добавьте флаг «n» к значению опции ‘cpoptions’.

‘showcmd’ ‘sc’

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

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

В Визуальном режиме опция позволяет отображать размер выделенной области:

  • При выделении символов в строке отображается количество выделенных символов
  • При выделении нескольких строк отображается количество выделенных строк
  • При выделении блока отображается количество выделенных экранных символов: строки x колонки.

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

‘showfulltag’ ‘sft’

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

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

‘showmatch’ ‘sm’

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

Данная опция включает режим кратковременного переноса курсора при вводе скобки к соответствующей парной скобке. Перенос курсора выполняется только в том случае, если соответствующая пара видна на экране. Временной интервал для переноса может быть настроен при помощи опции ‘matchtime’.

В случае, если соответствия для скобки не обнаружено, выдаётся звуковой сигнал (независимо от того, видна возможная пара на экране или нет). Данная опция автоматически выключается при включении опции ‘paste’. Если в значении опции ‘cpoptions’ отсутствует флаг ‘m’, то при вводе следующего символа курсор будет немедленно перенесён обратно в прежнюю позицию.

Для настройки формы и режима мигания курсора при отображении соответствия используйте поле «sm» в значении опции ‘guicursor’. Опция ‘matchpairs’ может быть использована для задания символов, для которых будет отображаться парное соответствие. Опции ‘rightleft’ и ‘revins’ используются для поиска соответствий в обратном направлении.

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

‘showmode’ ‘smd’

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

Опция позволяет показывать текущий режим редактора в виде сообщения в последней строке окна. Режим подсветки сообщения определяется флагом ‘M’ опции ‘highlight’.

В сообщении может присутствовать слово «XIM», если |XIM| может быть использован. Однако, наличие «XIM» в строке сообщения вовсе не означает, что XIM действительно используется в данный момент, особенно в том случае, если значением опции ‘imactivatekey’ является пустая строка.

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

‘sidescroll’ ‘ss’

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

Опция указывает минимальное количество колонок для горизонтальной прокрутки. Значение опции используется только при выключенной опции ‘wrap’, если курсор перемещается за пределы видимой области экрана.

Если значение опции равно 0, то курсор помещается в середину экрана. При использовании медленного терминала рекомендуется устанавливать значение данной опции равным 0 или большому значению. При использовании быстрого терминала, значение опции может быть установлено равным небольшому значению или 1. Опция не используется при выполнении команд «zh» и «zl».

‘sidescrolloff’ ‘siso’

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

Опция задаёт минимальное количество колонок экрана, которое должно оставаться слева и справа от курсора при выключенной опции ‘wrap’. Если значение этой опции больше 0, а опция |’sidescroll’| также имеет ненулевое значение, то при выполнении горизонтальной прокрутки на экране всегда будет отображаться контекст текущей позиции курсора (кроме случаев, когда курсор находится в самом начале или в самом конце строки). При очень больших значениях данной опции (например, 999), курсор всегда будет находится в центре экрана по горизонтали, если он находится достаточно далеко от начала или конца строки.

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

Пример: попробуйте предлагаемое решение с использованием опций ‘sidescroll’ и ‘listchars’, которое позволяет запретить перемещение курсора на символ «extends»:

:set nowrap sidescroll=1 listchars=extends:>,precedes:<
:set sidescrolloff=1

‘smartcase’ ‘scs’

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

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

Значение опции учитывается при выполнении команд «/», «?», «n», «N», «:g» and «:s», но не используется при выполнении команд «*», «#», «gd», команд поиска меток и т.п. При выполнении команд «*» и «#» значение опции ‘smartcase’ может быть использовано при последующем выполнении команды «/» с шаблоном поиска, взятым из истории команд поиска.

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

‘smartindent’ ‘si’

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

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

Опция ‘cindent’ позволяет выполнять похожее форматирование в большинстве случаев лучше, чем при помощи данной опции, но при этом используется более строгий набор правил (см. |С-отступы|). При включённой опции ‘cindent’, значение опции ‘si’ не используется. Ещё более продвинутым способом, позволяющим обеспечивать тонкую настройку форматирования отступа в строке, является использование опции ‘indentexpr’.

Обычно при использовании опции ‘smartindent’ также следует включить опцию ‘autoindent’.

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

  • После строки, заканчивающейся символом ‘{‘.
  • После строки, начинающейся с ключевого слова, определённого в значении опции ‘cinwords’.
  • Перед строкой, начинающейся с символа ‘}’ (только при выполнении команды «O»).

При вводе ‘}’ в качестве первого символа новой строки, эта строка будет иметь такой же отступ, как и строка с соответствующей парной ‘{‘.

При вводе ‘#’ в качестве первого символа новой строки, отступ для этой строки ликвидируется, а символ ‘#’ помещается в первую колонку. Прежнее значение отступа восстанавливается для следующей строки. Если вас не устраивает такое поведение, то вы можете пользоваться следующей привязкой: «:inoremap # X^H#» (символ ^H вводится как CTRL-V CTRL-H).

При использовании команды «>>», строки, начинающиеся с ‘#’, не подлежат сдвигу вправо.

ЗАМЕЧАНИЕ: Данная опция выключается при включении опции ‘compatible’. При включении опции ‘paste’ интеллектуальное форматирование отступов не выполняется.

‘smarttab’ ‘sta’

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

При включённой опции ‘smarttab’, ввод символа <Tab> в начале строки приводит к вставке в текст пробелов в соответствии со значением опции ‘shiftwidth’, а в остальных местах используется значение опции ‘tabstop’. Ввод <BS> в начале строки приводит к удалению пробелов в соответствии со значением опции ‘shiftwidth’.

При выключенной опции ‘smarttab’ ввод символа <Tab> всегда приводит к вставке пробелов в соответствии со значением опции ‘tabstop’. При этом значение опции ‘shiftwidth’ используется только для сдвига текста вправо или влево (см. |сдвиг-влево-вправо|).

Выбор символа для вставки (табуляция или пробел) зависит от значения опции ‘expandtab’. См. также |вставка-expandtab|. При выключенной опции ‘expandtab’ количество пробелов сводится к минимуму при помощи символов <Tab>.

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

‘softtabstop’ ‘sts’

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

Опция задаёт количество пробелов, эквивалентное ширине символа <Tab>, при выполнении операций по редактированию текста (например, при вставке символа <Tab> или при использовании <BS>). При этом создаётся ощущение, что используются символы <Tab>, хотя в действительности применяются как символы <Tab>, так и пробелы. Опция может быть полезной для сохранения стандартного значения опции ‘ts’ (8) при том, что редактор начинает вести себя так, как если бы значение этой опции на самом деле было бы равно значению опции ‘sts’. Однако, команды вроде «x» в любом случае работают с реальными символами.

При значении опции ‘sts’ равном 0, данная возможность не используется. При включении опции ‘paste’, значение ‘softtabstop’ устанавливается равным 0.

См. также |вставка-expandtab|. При выключенной опции ‘expandtab’ количество пробелов сводится к минимуму при помощи символов <Tab>.

Флаг ‘L’ в значении ‘cpoptions’ изменяет алгоритм использования символов табуляции при включённой опции ‘list’.

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

‘splitbelow’ ‘sb’

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

Если эта опция включена, то при выполнении команды разделения окна, новое окно помещается под текущим окном |:split|.

‘splitright’ ‘spr’

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

Если эта опция включена, то при выполнении команды разделения окна, новое окно помещается справа от текущего окна |:vsplit|.

‘startofline’ ‘sol’

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

Значение опции используется при выполнении команд CTRL-D, CTRL-U, CTRL-B, CTRL-F, «G», «H», «M», «L», а также «d», «<<» и «>>» с построчным оператором, с применением «%» с числом и в отношении команд изменения буфера (CTRL-^, :bnext, :bNext и т.д.). Кроме того, опция применяется при выполнении команды Ex, в которой используется только номер строки, например «:25» или «:+».

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

При выполнении команд изменения буфера, курсор помещается в той колонке, в которой он находился при последнем редактировании буфера.

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

‘statusline’ ‘stl’

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

Опция задаёт содержание строки состояния, если её значением не является пустая строка. См. также раздел |строка_состояния|.

Значение опции может содержать как обычный текст, так и различные элементы в стиле printf (которые начинаются с символа ‘%’). Каждый такой элемент задаётся при помощи следующего формата:

%-0{мин_шир}.{макс_шир}{элемент}

Все указанные поля элемента, кроме поля {элемент}, являются необязательными. Символ процента может быть включён в строку состояния при помощи элемента ‘%%’. В строке состояния может быть до 80 различных элементов.

Обратите внимание, что если значение данной опции не является пустой строкой, а значение опции ‘laststatus’ равно 2, то опция ‘ruler’ будет управлять только выводом команды |CTRL-G|.

полезначение
Элемент выравнивается по левому краю. По умолчанию, если минимальная ширина элемента больше длины элемента, используется выравнивание по правому краю.
0Использовать предваряющие нули в числовых элементах. Значение отменяется полем ‘-‘.
мин_ширМинимальная ширина элемента. При необходимости значение элемента дополняется в соответствии со значениями полей ‘-‘ и ‘&’. Значение поля не должно быть больше 50.
макс_ширМаксимальная ширина элемента. При длине элемента, превышающей заданную максимальную ширину, происходит обрезание значения элемента. Текстовые элементы обрезаются с использованием символа ‘<‘ слева от обрезанного элемента. Числовые элементы обрезаются до макс_шир-2 цифр, за которыми следует символ ‘>’ и количество опущенных цифр, наподобие экспоненциального формата представления чисел.
элементОдносимвольный код, имеющий одно из описанных ниже значений.

Ниже следует описание возможных элементов строки состояния. В колонке «элемент» указано значение кода элемента и его тип:

Ччисло
Сстрока
Ффлаг, согласно описанному ниже формату
не применимо
элементзначение
f СПуть к файлу, загруженному в буфер, относительно текущего каталога.
F СПолный абсолютный путь к файлу, загруженному в буфер.
t СИмя файла, загруженного в буфер (последний компонент пути).
m ФФлаг состояния несохранённых изменений в буфере. На месте элемента выводится » [+]» или » [-]», в зависимости от значения опции ‘modifiable’.
M ФФлаг состояния несохранённых изменений в буфере. На месте элемента выводится «,+» или «,-«.
r ФФлаг состояния «только для чтения», на месте элемента выводится » [RO]».
R ФФлаг состояния «только для чтения», на месте элемента выводится «,RO».
h ФФлаг буфера справочника, выводится текст » [справка]».
H ФФлаг буфера справочника, выводится текст «,HLP».
w ФФлаг окна предпросмотра, выводится текст » [Предпросмотр]».
W ФФлаг окна предпросмотра, выводится текст «,PRV».
y ФТип файла, загруженного в буфер, например » [vim]».  См. ‘filetype’.
Y ФТип файла, загруженного в буфер, например «,VIM». См. ‘filetype’.
Доступно только в том случае, если Vim скомпилирован с особенностью |+autocmd|.
k СЗначение переменной «b:keymap_name» или ‘keymap’, если используются привязки |:lmap|: «<раскладка>».
n ЧНомер буфера.
b ЧЗначение байта в позиции курсора.
B ЧТо же самое, в шестнадцатеричной системе счисления.
o ЧНомер байта в позиции курсора от начала файла (первый байт имеет номер 1).
Доступно только в том случае, если Vim скомпилирован с особенностью |+byte_offset|.
O ЧТо же самое, в шестнадцатеричной системе счисления.
N ЧНомер странице при выводе на печать (работает только с опцией ‘printheader’).
l ЧНомер строки.
L ЧКоличество строк в буфере.
c ЧНомер колонки.
v ЧНомер виртуальной колонки.
V ЧНомер виртуальной колонки в виде -{число}. Не отображается, если значение совпадает со значением ‘c’.
p ЧПозиция курсора от начала файла в процентах (как при выводе команды |CTRL-G|).
p СПозиция текста, отображаемого в окне, по отношению к началу файла в процентах. Аналогично значению, которое используется в опции ‘ruler’. Ширина поля всегда равна 3 символам.
a ССостояние списка аргументов, аналогично значению, которое выводится в заголовке по умолчанию ({текущий} из {общего}). Соответствует пустой строке, если список аргументов содержит 0 или 1 значение.
{ ЧФПозволяет вывести в строке состояния результат выражения, заданного между символами ‘{‘ и ‘}’.
( —Указывает на начало группы элементов. Группы могут быть использованы для применения параметров ширины и выравнивания к нескольким элементам как к одному целому. Группа должна быть закрыта при помощи элемента %).
) —Указывает на конец группы элементов. Этот элемент не допускает применения полей ширины.
< —Указывает на место, в котором строка состояния будет обрезана в том случае, если она не может быть отображена полностью. По умолчанию используется начало строки состояния. Этот элемент не допускает применения полей ширины.
= —Указывает на позицию, разделяющую элементы, выровненные по левому и правому краям. Этот элемент не допускает применения полей ширины.
* —Устанавливает значение группы подсветки равным User{N}, где {N} задаётся значением поля минимальной ширины, например %1*. Обычный режим подсветки восстанавливается при помощи элемента %* или %0*. Для строки состояния неактивного окна используется значение StatusLineNC, изменённое на разницу между User{N} и StatusLine. См. |подсветка-User1..9|

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

Если все элементы группы при выводе в строку состояния являются пустой строкой (например, группа состоит из неактивных флагов), то группа не будет отображаться в строке, если для неё не задана минимальная ширина поля. Это позволяет полностью исключить отображение в строке состояния группы вроде

:set statusline=...%(\ [%M%R%H]%)...

если ни один из указанных флагов не находится в активном состоянии.

Имейте в виду, что выражения, которые могут присутствовать в строке состояния, вычисляются каждый раз, когда отображается строка состояния. При отображении строки состояния текущее окно и текущий буфер временно устанавливаются равными тому окну и буферу, чья строка состояния обновляется в данный момент, с тем, чтобы выражение вычислялось в правильном контексте. Переменной «actual_curbuf» присваивается значение, возвращаемое функцией ‘bufnr()’ для действительного активного буфера. Выражение вычисляется в |песочнице|.

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

:let &ro = &ro

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

Следите за корректностью используемых выражений. Ошибки в выражениях, используемых в строке состояния, могут вывести Vim из рабочего состояния! В крайнем случае нажмите ‘:’ или ‘Q’ для перехода в командную строку, завершите работу редактора и отредактируйте сценарий запуска .vimrc при помощи команды «vim -u NONE».

Примеры:

Эмуляция стандартной строки состояния при включённой опции ‘ruler’:

:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P

То же, но с добавлением значения символа ascii в позиции курсора (как по команде «ga»):

:set statusline=%<%f%h%m%r%=%b\ 0x%B\ \ %l,%c%V\ %P

Отображение количества байтов и значение байта, а также флаг изменённого состояния буфера красным цветом:

:set statusline=%<%f%=\ [%1*%M%*%n%R%H]\ %-19(%3l,%02c%03V%)%O'%02b'
:hi User1 term=inverse,bold cterm=inverse,bold ctermfg=red

Отображение флага ,GZ, если в буфер загружен файл, сжатый при помощи gzip:

:set statusline=...%r%{VarExists('b:gzflag','\ [GZ]')}%h...

для работы указанного выше примера необходимо определить в настройках автокоманд (|:autocmd|):

:let b:gzflag = 1

и

:unlet b:gzflag

а также определить функцию:

:function VarExists(var, val)
: if exists(a:var) | return a:val | else | return '' | endif
:endfunction

‘suffixes’ ‘su’

строка (по умолчанию: «.bak,~,.o,.h,.info,.swp,.obj»)
глобальная опция
Vi не имеет такой возможности.

Файлы с расширениями, указанными в значении данной опции, имеют меньший приоритет при выполнении поиска файлов, соответствующих заданному шаблону при выполнении автодополнения имени файла, см. |расширения|. Необходимые расширения в значении опции перечисляются через запятую. Пробелы после запятой игнорируются. Кроме того, в качестве начала расширения также рассматривается точка. Чтобы точка или запятая не воспринималась как разделитель отдельных расширений, её следует предварять символом обратной косой черты (см.  раздел |опции-обратная_косая| о включении пробелов и символов обратной косой черты в значение опции).

Для того, чтобы полностью игнорировать файлы с определёнными именами, используйте опцию ‘wildignore’.

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

‘suffixesadd’ ‘sua’

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

Значением данной опции является список расширений, разделённых запятыми, которые применяются при выполнении команд поиска файла, таких как «gf», «[I» и т.д. Например:

:set suffixesadd=.java

‘swapfile’ ‘swf’

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

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

Своп-файл создаётся только в том случае, если опция ‘swapfile’ включена, а значение опции |’updatecount’| не равно 0.

При отключении опции ‘swapfile’, существующий своп-файл для текущего буфера немедленно удаляется. При включении опции ‘swapfile’ своп-файл будет немедленно создан, если значение опции ‘updatecount’ не равно 0.

См. также раздел |своп-файл| и справку по опции |’swapsync’|.

Данная опция используется совместно с опциями ‘bufhidden’ и ‘buftype’ для создания буферов специального назначения. См. раздел |специальные_буферы|.

‘swapsync’ ‘sws’

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

Если значение этой опции не является пустой строкой, то своп-файл синхронизируется с файловой системой немедленно после записи. Этот процесс занимает некоторое время, особенно на загруженных системах Unix. Если значением этой опции является пустая строка, то своп-файл может частично находиться в оперативной памяти и при аварийном завершении работы это может привести к потере информации. Unix-системы выполняют синхронизацию содержимого своп-файла самостоятельно с определённой периодичностью, поэтому на таких системах установка значения данной опции равным пустой строке не имеет серьёзных отрицательных последствий. С другой стороны, на некоторых системах своп-файл вообще не записывается на диск. Если на Unix-системе установить значение данной опции равным «sync», то при синхронизации будет использоваться системный вызов sync() вместо вызова fsync(), предусмотренного по умолчанию, что может быть эффективнее на некоторых системах.

‘switchbuf’ ‘swb’

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

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

useopenпозволяет перемещаться в первое открытое окно, которое содержит указанный буфер, если такое имеется. Если это ключевое слово отсутствует в значении данной опции, то другие окна не будут приниматься во внимание. Это значение также проверяется при выполнении команд |быстрого_исправления|, при переходе между ошибками («:cc», «:cn», «cp» и т.д.). Кроме того, это значение используется во всех связанных с буферами командах разделения, таких как «:sbuffer», «:sbnext» и «:sbrewind».
splitэто ключевое слово позволяет разделять текущее окно перед загрузкой нового буфера. Если оно отсутствует в списке, то буфер загружается в активное окно. Значение поддерживается командами |быстрого_исправления|, которые позволяют перемещаться между ошибками в текстах программ.

‘syntax’ ‘syn’

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

Данная опция, если её значение задано, позволяет загрузить правила подсветки синтаксиса с соответствующим именем, если подсветка синтаксиса не была отключена по команде «:syntax off». Значение опции не обязательно отражает правила синтаксиса действующие для буфера в текущий момент (для этой цели следует использовать переменную b:current_syntax).

Эта опция наиболее полезна в режимной строке файлов, синтаксис которых не может быть определён автоматически. Например, для файла на языке IDL:

/* vim: set syntax=idl : */

Для отключения подсветки синтаксиса в текущем файле используйте команду

:set syntax=OFF

Чтобы включить подсветку синтаксиса в соответствии с текущим значением опции ‘filetype’, используйте команду

:set syntax=ON

При изменении значения данной опции фактически происходит срабатывание автокомандного события Syntax со значением, соответствующим значению данной опции. Значение опции ‘syntax’ не копируется в другой буфер, независимо от наличия флага ‘s’ или ‘S’ в значении опции ‘cpoptions’.

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *