Как прокрутить назад в редакторе

Используйте приложение termux на любом телефоне Android, это даст вам возможность работать с Linux на смартфоне, также посетите его вики-страницуenter image description here

0
15.11.2021, 07:43
1 ответ

Я предполагаю, что «прокрутка» в вопросе означает «показ следующих нескольких строк из буфера в терминале», что и делает нестандартная zкоманда -. Переход на другую строку осуществляется путем обращения к строке по номеру строки, по регулярному выражению или по относительному адресу (наподобие -4, для 4-й строки предшествует ), но это не то, о чем этот вопрос примерно, я думаю.

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

Предположим, вы используете окно прокрутки из 25 строк и хотите прокрутить документ с самого конца назад.

$z25
-50z
-50z

(и т. д., используйте znвместо z, чтобы получить нумерованные строки.)

Это начинается с показа последней строки с$z25(это также устанавливает окно прокрутки для последующих команд zдо 25 строк ). Затем каждый -50zперемещал бы 50 строк назад в буфер, а затем отображал бы 25 строк вперед оттуда.

Проблема в том, что вы, как правило, не знаете размер окна прокрутки по умолчанию (по умолчанию, количество строк в терминале ), поэтому вам нужно указать явное количество строк для прокрутки, как сделано выше.

Ввод -50zдля просмотра следующего (предыдущего )набора строк также немного громоздкий, но может не создавать особых проблем, если используется edс rlwrap, что позволяет используйте стрелку вверх -, чтобы вызвать предыдущую команду.

Другая проблема заключается в том, что в начале буфера редактирования ввод относительного адреса после начала буфера приведет к ошибке.


Команда zявляется сокращением для чего-то вроде .,+24p,за исключением того, что 24автоматически заменяется количеством строк, доступных в окне терминала, минус 1 (, если не указано явное число, как вz25). Команда -50z, показанная выше, поэтому может быть переписана как (, что-то вроде)

-50;.,+24p

что означает «перепрыгнуть на 50 строк назад в буфер, затем распечатать текущую строку и следующие 24 строки». (Используйте nвместо p, чтобы получить нумерованные строки.)

2
15.11.2021, 08:30

Теги

Похожие вопросы