3

Почему vim перемещает меня в начало строки, когда я нажимаю # для комментария или комментария в файле perl?

Почему я не хочу, чтобы мой комментарий был с отступом на том же уровне текущего кода?

3 ответа3

4

Убедитесь, что в вашем .vimrc установлено следующее:

filetype plugin indent on
syntax enable

Если вы используете параметр отступа "smartindent", решение проблемы объясняется в :help документация :help smartindent VIM:

При вводе «#» в качестве первого символа в новой строке отступ для этой строки удаляется, «#» помещается в первый столбец. Отступ восстанавливается для следующей строки. Если вы не хотите этого, используйте это отображение: ": inoremap # X ^ H #", где ^ H вводится с помощью CTRL-V CTRL-H. При использовании команды «>>» строки, начинающиеся с «#», не сдвигаются вправо.

1

Я думаю, что это сбивает с толку и думает, что вы редактируете файл C, где директивы препроцессора должны быть против левого поля.

0
:inoremap # X^H#

не работал для меня, вот что сделал:

inoremap # ^T#^D
  • ^T (Ctrl-T) отступы
  • ^D индентцы.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .