Почему vim перемещает меня в начало строки, когда я нажимаю # для комментария или комментария в файле perl?
Почему я не хочу, чтобы мой комментарий был с отступом на том же уровне текущего кода?
Убедитесь, что в вашем .vimrc установлено следующее:
filetype plugin indent on
syntax enable
Если вы используете параметр отступа "smartindent", решение проблемы объясняется в :help документация :help smartindent
VIM:
При вводе «#» в качестве первого символа в новой строке отступ для этой строки удаляется, «#» помещается в первый столбец. Отступ восстанавливается для следующей строки. Если вы не хотите этого, используйте это отображение: ": inoremap # X ^ H #", где ^ H вводится с помощью CTRL-V CTRL-H. При использовании команды «>>» строки, начинающиеся с «#», не сдвигаются вправо.
Я думаю, что это сбивает с толку и думает, что вы редактируете файл C, где директивы препроцессора должны быть против левого поля.
:inoremap # X^H#
не работал для меня, вот что сделал:
inoremap # ^T#^D
^T
(Ctrl-T) отступы^D
индентцы.Недостаток этого решения заключается в том, что если вы не находитесь в столбце отступа, он привязывает вас к одному. Если ваш код имеет отступ, это не должно быть проблемой.