Подтвердить что ты не робот

Автоматически перейти к следующей строке в vim

Одно из расстройств в vim заключается в том, что когда я перемещаю свой курсор вправо или влево (соответственно "l" или "h" ), и я нахожусь в конце или в начале строки, мой курсор не перемещается в первый столбец следующей строки или последнего столбца предыдущей строки.

Есть ли способ изменить это поведение?

4b9b3361

Ответ 1

Вы можете использовать параметр whichwrap, чтобы сделать h и l обернуть вокруг начала и конца отдельных строк:

set whichwrap+=h,l

Однако документация Vim рекомендует против этого, возможно, потому, что у него могут быть неожиданные побочные эффекты (например, разрыв плагинов или изменение того, как работают общие ключи).

В качестве альтернативы вы можете сделать то, что рекомендовал Матти Вирккунен:

set whichwrap+=<,>,[,]

Это оставляет h и l с их поведением по умолчанию, но позволяет левым и правым клавишам со стрелками обматывать строки. (Это то, что я делаю, и он хорошо работает.)

Вы также можете взглянуть на параметр backspace, чтобы управлять тем, как Backspace, Delete, Control + W и Control + U работают в режиме Insert. Я установил так:

set backspace=indent,eol,start

Это позволяет мне перекрыть почти все.

Для получения дополнительной информации см. эти темы в справке Vim:

:help 'whichwrap
:help 'backspace

Ответ 2

Поместите следующее в свой .vimrc:

set whichwrap+=<,>,[,]