Горизонтальная навигация в длинных строках - PullRequest
27 голосов
/ 13 мая 2011

Как мне сделать следующее:

  1. смещаться быстрее вправо, что-то вроде zw (аналогично zl, но переходить на слова)
  2. сдвиг только на одну длинную строку, где находится курсор. Остальная часть файла останется на своем месте

У меня есть .vimrc настройки set nowrap. Это потому, что код выглядит лучше, чем перенесенные строки. Но есть проблема с горизонтальной навигацией.

Я заметил, что zl (не путайте l (L) с 1), который смещается вправо (zh влево).

Ответы [ 3 ]

41 голосов
/ 13 мая 2011

Вы пробовали :help scroll-horizontal?

Вы можете использовать отображение для прокрутки, например, на 20 символов влево или вправо:

map <C-L> 20zl " Scroll 20 characters to the right
map <C-H> 20zh " Scroll 20 characters to the left

Без применения сопоставления вы можете использовать zL, чтобы переместить вид на половину ширины экрана вправо, и zH, чтобы сделать это влево.

Относительно второй части вашего вопроса: я не думаю, что это возможно. Вы можете вытянуть всю строку, вставить ее во второй (нуля) буфер и прокрутить там. Это будет работать до тех пор, пока вы просто читаете строки. Проблемы возникнут, как только вы захотите что-то изменить. Но это довольно громоздко ...

4 голосов
/ 21 июля 2015

Используйте клавиши Shift + прокрутка для быстрого перемещения по тексту

0 голосов
/ 18 июля 2019

Для первой части вашего вопроса, как и в комментариях, zL и zH идеальны, поэтому я добавлю это сюда.

zL          Move the view on the text half a screenwidth to the
            right, thus scroll the text half a screenwidth to the
            left.  This only works when 'wrap' is off.

zH          Move the view on the text half a screenwidth to the
            left, thus scroll the text half a screenwidth to the
            right.  This only works when 'wrap' is off.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...