Ответ 1
Эти две команды должны это сделать:
:set autoindent
:set cindent
Бонусные очки помещают их в файл с именем .vimrc, расположенный в вашем домашнем каталоге на linux
Я был несколько испорчен с помощью Eclipse и java. Я начал использовать vim для кодирования C в среде linux, есть ли способ, чтобы vim автоматически выполнял правильное расстояние для блоков?
Итак, после ввода {следующая строка будет иметь 2 пробела с отступом, а возврат на этой строке будет содержать один и тот же отступ, а a} сдвинет назад 2 пробела?
Эти две команды должны это сделать:
:set autoindent
:set cindent
Бонусные очки помещают их в файл с именем .vimrc, расположенный в вашем домашнем каталоге на linux
I написал все о вкладках в vim, что дает несколько интересных вещей, о которых вы не спрашивали. Для автоматической фиксации отступа используйте:
:set cindent
Чтобы отложить два пробела (вместо одной вкладки из восьми пробелов, по умолчанию vim):
:set shiftwidth=2
Чтобы vim не конвертировал восемь пробелов в вкладки:
:set expandtab
Если вы хотите изменить отступ в блоке текста, используйте < и > . Обычно я использую это в сочетании с режимом выбора блока (v, выберите блок текста, < или > ).
(Я попытался бы поговорить с вами о двухпозиционном отступе, так как мне (и большинству других) трудно читать, но это еще одно обсуждение.)
Многие функции vim (например, autoindent
и cindent
) по умолчанию отключены. Чтобы действительно увидеть, что VIM может сделать для вас, вам нужен приличный ~/.vimrc
.
Хороший стартовый находится в $VIMRUNTIME/vimrc_example.vim
. Если вы хотите попробовать, используйте
:source $VIMRUNTIME/vimrc_example.vim
когда в vim.
Я бы предложил просто скопировать содержимое на ваш ~/.vimrc
, как он хорошо комментировался, и хорошее место, чтобы начать изучать, как использовать vim. Вы можете сделать это с помощью
:e $VIMRUNTIME/vimrc_example.vim
:w! ~/.vimrc
Это перезапишет ваш текущий ~/.vimrc
, но если все, что у вас есть, есть настройки отступа, предложенные Давром, я бы не потел, так как пример vimrc позаботится об этом и для вас. Для полного прохода примера и того, что он делает для вас, см. :help vimrc-intro
.
[email protected]:~ $ echo set autoindent >> .vimrc
Я думаю, что лучший ответ на самом деле объясняется на vim wikia:
http://vim.wikia.com/wiki/Indenting_source_code
Обратите внимание, что он советует не использовать "set autoindent". Лучшая особенность всего, что я нахожу в этом объяснении, - это возможность установки параметров для каждого файла, что особенно полезно, если вы программируете на python и С++, например, так как вам нужно 4 пробела для вкладок в первом и 2 для пробелы в последнем.
и всегда помните это почтенное объяснение Spaces + Tabs:
Try:
set sw = 2
установить ts = 2
установить smartindent