Установка Отступов В Vim

Процесс смены Komodo IDE на VIM я начал с изучения различных туториалов и инструкций, однако, что удивительно, ни в одном из них мне не удалось найти человеческого описания процесса установки отступов.

Некоторые предлагали настроить ширину отступа с помощью опции табуляция , в других - с помощью софттабстоп , в-третьих - выставлять и то и другое ширина смены кроме того.

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

Хочу поделиться с вами своими «открытиями».

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

табуляция (по умолчанию 8) — количество пробелов, через которые в тексте отображается символ табуляции.

Затрагивает как существующие вкладки, так и новые.

Если значение меняется, к тексту применяется «на лету».

софттабстоп (0) — количество пробелов, на которых появляется символ табуляции при добавлении.

Хотя нажатие клавиши Tab даст ожидаемый результат (добавится новый символ табуляции), на самом деле для отступов можно использовать как табуляцию, так и пробелы.

Например, при установленном табуляция равен 8 и софттабстоп Если установлено значение 4, трехкратное нажатие Tab добавит ширину отступа в 12 пробелов, но он будет сформирован из одного символа табуляции и 4 пробелов.

ширина смены (8) — по умолчанию используется для регулировки ширины отступов в пробелах, добавленных > > и << commands. If the option value is not equal табуляция , как и в случае с софттабстоп , отступ может состоять как из символов табуляции, так и из пробелов.

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

Нажатие Backspace удалит отступ, а не один символ, что очень полезно, если оно включено.

развернуть вкладку .

Напомню: опция влияет только на отступы в начале строки; в остальных местах значения из табуляция И софттабстоп .

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

Это также влияет на отступы, добавляемые > > и << commands. Вооружившись этими знаниями, очень легко настроить необходимое поведение отступов.

Популярная практика среди разработчиков: вместо табуляции пробелы, ширина отступа — 4 пробела.

Настройка в этом случае будет выглядеть так:

set tabstop=4 set shiftwidth=4 set smarttab set expandtab

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

умный отступ (выкл.

) - делает то же самое, что и автоотступ плюс автоматически выставляет отступы в «нужных» местах.

В частности, отступ размещается после строки, оканчивающейся символом {, перед строкой, оканчивающейся символом }, удаляется перед символом #, если он стоит первым в строке, и т. д. (дополнительная справка по «smartindent»).

Вот и все, собственно.

Мой файл конфигурации для отступов выглядит так:

set tabstop=4 set shiftwidth=4 set smarttab set expandtab set smartindent

Буду признателен за любые разъяснения и дополнения.

Теги: #vim #отступы #отступ #vim

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.