(Правка - в исходном ответе предлагались нативные Ctrl-f и Ctrl-b, но ответ был обновлен, поскольку цель здесь состоит в том, чтобы избежать использования Ctrl и Shift)
Несколько точек для добавления
Оставляя вопрос выбора правильного персонажа для вас, предполагая, что мы выбрали X
на данный момент.
Я могу вспомнить две причины, по которым map X <PageUp>
не работает для вас.
Ваша версия vi может не поддерживать PageUp / PageDown.Если это проблема, тогда попробуйте вместо этого перейти к переходу на страницу vi (B - назад, сопровождается вперед), например.map X <C-b>
.
Еще один вариант заключается в том, что он не работает «как ожидалось».В vi PageUp / PageDown действуют на «область просмотра», а не на курсор.Так что, если вы смотрите на верхнюю часть файла, но курсор не наверху или не будет ничего делать.PageDown не будет «работать», если ваш курсор находится в двух строках снизу.
Чтобы решить эту проблему, вы можете объединить «Переместить окно просмотра вверх» <C-b>
и «Переместить курсор в верхнюю часть окна просмотра».H
например.map X <C-b>H
(противоположное существо map X <C-f>L
).Или указав количество строк для прыжка самостоятельно map X 30k
(Оп. map X 30j
).
Тогда возникает вопрос выбора правильного символа для перезаписи.В Vi много нативных команд, так что на самом деле их много, и лишь несколько символов не делают что-то изначально.Так что если ваша цель - избежать RSI, то, конечно, что-то перезаписать.Но не забудьте переписать что-то, что не слишком полезно для вас лично.
Собственно: f ищет определенный символ в строке, на которой вы находитесь (это может быть очень полезно, но я думаю, не критично) gсам по себе ничего не делает, но gg перемещает курсор в начало файла.Выбор g может вызвать issus, поскольку vim (а не исходный vi) будет интерпретировать два быстрых нажатия клавиш как переход к началу файла вместо выполнения двух PageUp.