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