Перемещение по строке, а не по предложению - PullRequest
3 голосов
/ 24 мая 2011

Использование macvim.Скажем, у меня есть одно предложение, которое занимает 5 строк в редакторе.И второе предложение, которое занимает 5 следующих строк.Начните с курсора в строке 1. В обычном режиме нажатие j приведет меня к следующему предложению (то есть в строке 6).

Как изменить это поведение, чтобы нажатие кнопки jв строку 2 (которая все еще является частью первого предложения?).Или вместо использования j, каким-либо другим способом достичь этой цели?

Ответы [ 2 ]

4 голосов
/ 24 мая 2011

Фактическая проблема заключается в том, что строка (не предложение) слишком длинная и переносится на несколько строк дисплея.Движение по умолчанию с j и k будет перемещать курсор в реальных строках, а не в отображаемых строках.

Вы можете переназначить j и k в обычном режиме для перемещения в строках дисплея:

nnoremap j gj
nnoremap k gk

(в вашем .vimrc).

3 голосов
/ 24 мая 2011

j переводит вас на следующую строку.Я думаю, что у вас есть проблема с терминологией («предложение» не означает, что вы, кажется, думаете, что оно означает).Если j не приведет вас к следующей строке на экране, это потому, что файл содержит очень длинную строку (которую вы называете «предложением»), которая слишком широка, чтобы поместиться на экране.Если строка очень длинная, она отображается на нескольких строках экрана.Vim называет эти « строки дисплея ».Команда j перемещается в ту же позицию на следующей строке файла;gj перемещается в тот же столбец на следующей строке экрана.

...