Я был несколько испорчен использованием Eclipse и java. Я начал использовать vim для кодирования C в среде Linux, есть ли способ, чтобы vim автоматически делал правильный интервал для блоков?
Итак, после ввода {следующая строка будет иметь 2 пробела с отступом, и возврат в этой строке сохранит ее с тем же отступом, а a} сдвинет назад на 2 пробела?
c
vim
coding-style
vi
zxcv
источник
источник
Я написал все о вкладках в vim , что дает несколько интересных вещей, о которых вы не спрашивали. Для автоматического отступа фигурных скобок используйте:
:set cindent
Чтобы сделать отступ в два пробела (вместо одной табуляции из восьми пробелов, vim по умолчанию):
:set shiftwidth=2
Чтобы vim не преобразовывал восемь пробелов в табуляции:
:set expandtab
Если вы когда-нибудь захотите изменить отступ блока текста, используйте <и>. Я обычно использую это в сочетании с режимом выбора блока (v, выберите блок текста, <или>).
(Я бы попытался отговорить вас от использования отступов через два пробела, поскольку мне (и большинству других людей) трудно читать, но это уже другое обсуждение.)
источник
Многие функции vim (например,
autoindent
иcindent
) по умолчанию отключены. Чтобы действительно увидеть, что vim может для вас сделать, вам понадобится достойный~/.vimrc
.Хороший стартовый
$VIMRUNTIME/vimrc_example.vim
. Если вы хотите попробовать, используйтекогда в vim.
На самом деле я бы предложил просто скопировать содержимое в ваш,
~/.vimrc
поскольку оно хорошо прокомментировано, и это хорошее место, чтобы начать изучать, как использовать vim. Вы можете сделать этоЭто перезапишет ваш текущий
~/.vimrc
, но если все, что у вас есть, это настройки отступа, предложенные Davr, я бы не стал беспокоиться, так как пример vimrc позаботится об этом и за вас. Чтобы получить полное представление о примере и о том, что он делает для вас, см:help vimrc-intro
.источник
Просто запустите:
user@host:~ $ echo set autoindent >> .vimrc
источник
Я думаю, что лучший ответ на самом деле объяснен на vim wikia:
http://vim.wikia.com/wiki/Indenting_source_code
Обратите внимание, что он не рекомендует использовать «установить автоотступ». Лучшая функция из всего, что я нахожу в этом объяснении, - это возможность устанавливать настройки для каждого файла, что особенно полезно, если вы программируете, например, на Python и C ++, поскольку вам нужно 4 пробела для вкладок в первом и 2 для пробелы в последнем.
источник
и всегда помните это почтенное объяснение Spaces + Tabs:
http://www.jwz.org/doc/tabs-vs-spaces.html
источник
Пытаться:
установить sw = 2
установить ts = 2
установить smartindent
источник