Процесс смены 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
-
Что Тормозит Развитие Фриланса?
19 Oct, 24 -
Кнопка «Читать Позже»
19 Oct, 24