Существует ли способ препятствовать тому, чтобы курсор достиг нижней части терминала?

Это глубоко разбивает попытку прочитать текст, который появляется у основания окна. Каждый раз, когда я использую текстовый редактор, такой как Gedit, я заполняю нижнюю часть в настоящее время открытого файла с 20 или 40 пустыми строками, чтобы препятствовать тому, чтобы мое внимание было вызвано к нижней части окна.

К сожалению, когда я использую интерактивные оболочки, такие как Python или удар, то же обходное решение не возможно.

Я хочу найти способ управлять, которые располагают курсор в ряд терминала Ubuntu, придерживается, после того как предыдущие строки были заполнены.

Здесь существует подобный вопрос, но принятый ответ не решает проблему.

Любые предложения ценятся.

Править

Вот пример двух окон Gedit.

enter image description here

Первый снимок экрана изображает окно, которое почти полно. Одна или еще две строки и я должны будем провести следующий час работы, смотрящей у основания окна.

enter image description here

Второй снимок экрана изображает решение. Я добавляю пустые строки к нижней части файла так, чтобы соответствующая 3-я строка больше не была внизу экрана, но в середине.

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

7
задан 14 April 2020 в 00:13

3 ответа

Вы можете изменить свою терминальную подсказку так, чтобы это echos пять возвратов каретки и затем используете ansi escape-последовательность для движения назад пяти строк, прежде чем это закончит остальную часть подсказки. Если это работает на Вас, можно поместить его в .bashrc для создания его постоянным. Скопируйте и вставьте это в свой терминал:

PS1='\n\n\n\n\n\[\033[5A\]\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$'

'\n\n\n\n\n' спускает пять строк, и' [\033 [5 А]' пятится пять строк. Можно изменить обоих из тех, если Вы хотите больше пространства.

8
ответ дан 25 April 2020 в 10:48

Вы могли попытаться использовать tput изменить регион прокрутки Вашего терминала:

tput csr 1 $((LINES/2))

Если оболочка checkwinsize опция включена, затем $LINES должен быть обновлен, если терминал изменен - однако, чтобы повторно выполниться tput csr управляйте, когда это произойдет, необходимо будет получить SIGWINCH сигнал. Вы могли добавить такое прерывание к своему интерактивному файлу инициализации оболочки ~/.bashrc следующим образом:

trap 'tput csr 1 $((LINES/2))' WINCH ; kill -s WINCH $$

Вторая часть команды kill -s WINCH $$ отправляет начальную букву SIGWINCH так, чтобы tput csr команда выполняется, когда оболочка сначала вызывается также.

Ссылки:

8
ответ дан 25 April 2020 в 10:48

Почему не просто используют clear управлять время от времени?

2
ответ дан 25 April 2020 в 10:48

Другие вопросы по тегам:

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