Как изменить размер вкладки в Vim?
каждый раз, когда я добавляю селектор в CSS и нажимаю Enter
чтобы определить свойства он заканчивается так:
#selector {
property: value;
}
(8-космической вкладки)
как я могу настроить Vim, чтобы сделать это так:
#selector {
property: value;
}
(4-пространство вкладки)
5 ответов:
расширяя ответ зоула:
если вы хотите настроить Vim для использования определенных настроек при редактировании определенного типа файлов, вы хотите использовать autocommands:
autocmd Filetype css setlocal tabstop=4
это сделает его так, что вкладки отображаются в виде 4 пробелов. Установка
expandtab
приведет к тому, что Vim фактически вставит пробелы (количество их контролируетсяtabstop
) при нажатии tab; вы можете использоватьsofttabstop
чтобы сделать backspace работать правильно (то есть, уменьшить отступ, когда это что произойдет, если будут использоваться вкладки, а не всегда удалять по одному символу за раз).чтобы принять полностью обоснованное решение о том, как настроить вещи, вам нужно будет прочитать Vim docs на
tabstop
,shiftwidth
,softtabstop
иexpandtab
. Самый интересный бит находится подexpandtab
(:help 'expandtab
):есть четыре основных способа использования вкладок в Vim:
всегда держите "tabstop" на 8, Установите "softtabstop" и "shiftwidth" на 4 (или 3 или все, что вы предпочитаете) и использовать "noexpandtab". Затем Vim будет использовать сочетание вкладок и пробелов, но ввод и будет вести себя так, как вкладка появляется каждые 4 (или 3) символа.
установите "tabstop" и "shiftwidth" на все, что вы предпочитаете, и используйте "expandtab". Таким образом, вы всегда будете вставлять пробелы. Форматирование никогда не будет перепутано при изменении 'tabstop'.
установите 'tabstop' и 'shiftwidth' на все, что вы предпочитаете, и используйте |modeline| чтобы установить эти значения при редактировании файла. Работает только при использовании Vim для редактирования файла.
всегда набор 'остановка табуляции' и 'shiftwidth' с тем же значением и 'noexpandtab'. Это должно работать (только для начальных отступов) для любого параметра tabstop, который используют люди. Было бы неплохо иметь вкладки после первого непустого вставленного в качестве пробелов, если вы это сделаете. В противном случае выровненные комментарии будут неправильными при изменении 'tabstop'.
:set tabstop=4 :set shiftwidth=4 :set expandtab
вставьте четыре пробела вместо табуляции. Пробелы немного более "стабильны", что означает, что текст с отступом пробелов будет отображаться одинаково в браузере и любом другом приложении.
чтобы внести изменения за один сеанс, используйте следующую команду:
:set tabstop=4
для того чтобы сделать изменение постоянным, добавьте его в
~/.vimrc
или~/.vim/vimrc
:set tabstop=4
это повлияет на все файлы, а не только css. Чтобы повлиять только на файлы css:
autocmd Filetype css setlocal tabstop=4
как говорится в ответ Михала.
несколько ответов на этой странице являются "одноразовыми" исправлениями описанной проблемы. Это означает, что при следующем открытии документа с помощью vim будут возвращены предыдущие настройки вкладки.
если кто-то заинтересован в постоянном изменении вкладка "параметры":
- найти/открыть свой .vimrc - инструкция тут
добавить следующие строки: (подробнее здесь)
set tabstop=4 set shiftwidth=4 set expandtab
сохраните файл и протестируйте
Если вам нужно часто менять размеры, и вы не хотите привязывать это к определенному типу файла, у вас могут быть предопределенные команды .файл vimrc для быстрого переключения настроек:
nmap <leader>t :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR> nmap <leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>
это сопоставляет два разных набора размеров с ключами \t и \m. вы можете привязать это к любым ключам, которые вы хотите.