Как я могу добиться специфичного для проекта отступа в vim? - PullRequest
20 голосов
/ 30 мая 2011

Я работаю над несколькими проектами, каждый из которых использует разные стили отступов (для разных типов файлов).Например, 1 вкладка на уровень отступа, 2 или 4 пробела и т. Д. Как я могу автоматизировать переключение между этими разными стилями?Обычно я предпочитаю делать отступы для вкладок, но мне надоело набирать текст: постоянно устанавливать settabab при работе с пробелом с кодом.Возможные решения включают загрузку части конфигурации vim на основе пути к файлу или некоторой конфигурации в корне проекта.Есть ли плагин для элегантного решения этой проблемы?

Ответы [ 4 ]

15 голосов
/ 30 мая 2011
  1. Посмотрите на опции cinoptions и softtabstopexpandtab, но вы это знаете).
  2. В вашем ~ / .vimrc определите буфервведите авто-команды для каждого каталога, в котором вы храните исходные коды какого-либо проекта, например:

    augroup ProjectSetup
    au BufRead,BufEnter /path/to/project1/* set et sts=2 cindent cinoptions=...
    au BufRead,BufEnter /path/to/project2/* set noet sts=4 cindent cinoptions=...
    augroup END
    

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

    au BufRead,BufEnter /path/to/project1/*.{c,h} set noet sts=0 cindent cinoptions=...
    au BufRead,BufEnter /path/to/project1/*.py set et sts=4
    
14 голосов
/ 30 мая 2011

Я использую плагин localvimrc , который делает именно то, что вы просите:

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

5 голосов
/ 08 января 2018

EditorConfig и его Плагин Vim :

Что такое EditorConfig?

EditorConfig помогает разработчикам определять и поддерживать согласованные стили кодирования междуразные редакторы и IDE.Проект EditorConfig состоит из формата файла для определения стилей кодирования и набора плагинов текстового редактора, которые позволяют редакторам читать формат файла и придерживаться определенных стилей.Файлы EditorConfig легко читаются и прекрасно работают с системами контроля версий.

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

Вам просто нужно создатьфайл .editorconfig в корневом каталоге проекта, и Vim автоматически находит его (при условии, что у вас установлен плагин), устанавливая правильные значения.Пример файла конфигурации:

root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

[*.{js,html}]
indent_size = 2

[*.css]
indent_size = 4
3 голосов
/ 30 мая 2011

Да, есть: Если вы используете Плагин проекта , вы можете указать файл, содержимое которого проверяется каждый раз, когда вы открываете файл проекта (это файл называется in.vim). Противоположностью in.vim является out.vim: этот выполняется каждый раз, когда вы покидаете проект.

...