Buffer scroll: titoBouzout/BufferScroll: Remember, restore and sync scroll, bookmarks, marks, folds and cursors. keys: multiple columns one buffer, follow mode, split, screen, pages, synchronize vertical and typewriter scrolling

Настройки прокрутки

Терминал › Customize Behavior »

Параметры Терминала › Profile Preferences »

When a lot of output is printed to your terminal screen, it can be helpful to have your terminal behave in a specific manner so that it is easier to work with.

Видимость полосы прокрутки

You can disable the scrollbar:

  1. Press the menu button in the top-right corner of the window and select Preferences.

  2. In the sidebar, select your current profile in the Profiles section.

  3. Select Scrolling.

  4. Uncheck Show scrollbar.

Your preference is saved immediately.

Прокручивать при выводе

You can lock scrolling so that it always shows the newest output while a command executes and produces output.

  1. Press the menu button in the top-right corner of the window and select Preferences.

  2. In the sidebar, select your current profile in the Profiles section.

  3. Select Scrolling.

  4. Check Scroll on output.

Scroll on input

You can set the terminal to automatically scroll to the bottom of the window when you input text into the prompt.

  1. Press the menu button in the top-right corner of the window and select Preferences.

  2. In the sidebar, select your current profile in the Profiles section.

  3. Select Scrolling.

  4. Check Scroll on keystroke.

Строки обратной прокрутки

You can limit the number of lines of terminal output which are remembered.

  1. Press the menu button in the top-right corner of the window and select Preferences.

  2. In the sidebar, select your current profile in the Profiles section.

  3. Select Scrolling.

  4. Check Limit scrollback to and enter a number of lines to limit scrollback.

  5. Также можно нажать + для увеличения или — для уменьшения количества строк.

You can choose to have unlimited scrollback.

  1. Press the menu button in the top-right corner of the window and select Preferences.

  2. In the sidebar, select your current profile in the Profiles section.

  3. Select Scrolling.

  4. Uncheck Limit scrollback to.

Scrollback data is stored in compressed and encrypted files on disk, under the system’s default location for temporary files (usually /tmp). These files are unlinked immediately after their creation, and as such, do not show up in the directory listing. The occupied disk space is freed up as soon as the corresponding terminal closes.

Make sure you have sufficient disk space available for these temporary files. If in doubt, monitor disk usage for example with the command du /tmp.

A giant scrollback buffer makes resizing the terminal window slower. As a rule of thumb, resizing gets noticeably slow at around 1 million lines.

Общие сведения

© 2013 С. Синдху (Sindhu S)

© 2013–2014 Екатерина Герасимова (Ekaterina Gerasimova)

© 2007. Сергей В. Миронов

© 2013. Юлия Дронова

Написано

  • С. Синдху (Sindhu S)

Отредактировано

  • Екатерина Герасимова (Ekaterina Gerasimova)

Переведено

  • Сергей В. Миронов
  • Юлия Дронова

Лицензия

Эта программа выходит на условиях двойного лицензирования: Непортированная лицензия Creative Commons Attribution-Share Alike 3.0 и Лицензия GNU General Public License версия 3. Программу можно распространять далее и/или изменять на условиях любой из этих лицензий.

Положения лицензии GPL 3:

Это свободная программа: вы можете распространять её далее и/или изменять её на условиях Стандартной общественной лицензии GNU версии 3 том виде, в каком она была опубликована Фондом свободного программного обеспечения.

Эта программа распространяется в надежде, что она будет полезной, но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННЫХ ЦЕЛЕЙ. Подробнее см. в Стандартной общественной лицензии GNU.

Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой. Если это не так, см. http://www.gnu.org/licenses/.

Есть замечание? Нашли ошибку? Считаете инструкции неясными? Отправьте отзыв об этой странице.

Общие настройки — Punto Switcher для Windows. Справка

Чтобы открыть настройки программы, нажмите правой кнопки мыши значок Punto Switcher (на панели задач) и выберите пункт меню

Настройки.

  • Вкладка «Основные»
  • Вкладка «Дополнительные»
  • Блок «Переключение раскладки»

Запускаться при старте — если опция включена, программа автоматически запустится вместе с Windows.

Автопереключение — если опция включена, программа выполняет автоматическое переключение раскладки клавиатуры.

Запускать с правами Администратора — если опция включена, Punto Switcher сможет работать в программах, запущенных с правами Администратора.

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

Показывать плавающий индикатор — при выборе этой опции появится второй («плавающий») индикатор Punto Switcher, который можно будет переместить в любую точку экрана. Плавающий индикатор можно закрепить на экране — для этого нажмите на него правой кнопкой мыши и выберите пункт

Закрепить индикатор. После перезапуска программы положение индикатора не изменится.

Скрывать плавающий индикатор после смены раскладки — с включением этой опции плавающий индикатор будет виден в течение двух секунд после смены раскладки.

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

Всегда показывать флаги в полную яркость — если выбран показ индикатора раскладки в виде флагов, флаги будут отображаться в полную яркость даже тогда, когда автопереключение отключено.

Отключать горячие клавиши при отключении автопереключения — используйте эту опцию, чтобы отключить срабатывание горячих клавиш при выключенной автокоррекции языка (например, в играх).

Показывать полезные советы — при включении данной опции два раза в месяц после запуска Punto Switcher будет показываться всплывающая подсказка с полезным советом.

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

Исправлять две заглавные буквы в начале слова — если вы набрали слово с двумя заглавными буквами, в том числе в другой раскладке, программа автоматически это исправит. Особые случаи, такие как СПб и МГц, не исправляются.

Исправлять случайное нажатие Caps Lock — при включенном Caps Lock набранное слово со строчной первой буквой и остальными прописными будет исправлено автоматически.

Отключить кнопку Caps Lock — если вы не используете Caps Lock, можно отключить эту клавишу совсем.

Использовать Scroll Lock как Caps Lock — если вы выберете переключение раскладки по Caps Lock, переключать регистр можно будет с помощью клавиши Scroll Lock.

Исправлять раскладку при работе с меню, содержащим горячие клавиши — при нажатии клавиши Alt будет проанализирован язык символов меню, и на основании результатов будет включена соответствующая раскладка. Опция действует только в стандартных меню.

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

Следить за буфером обмена — если опция включена, Punto Switcher будет запоминать 30 последних текстов буфера обмена. Позже их можно будет выбрать из меню и вставить в текст. Для отображения истории буфера обмена назначьте горячую клавишу или откройте меню Буфер обмена → Посмотреть историю.

Сохранять историю буфера обмена после загрузки Windows — если опция включена, Punto Switcher запомнит содержимое буфера обмена и сохранит его даже после перезагрузки Windows.

Показывать всплывающие подсказки — опция включает показ всплывающих подсказок при автозамене и коррекции случайного нажатия

Caps Lock или при исправлении двух первых прописных букв.

Запятая по двойному нажатию клавиши Пробел — опция позволяет поставить запятую с помощью двойного нажатия клавиши Пробел. Это удобно при наборе текста на русском языке, так как в русской раскладке запятая ставится с использованием клавиши Shift.

Переключать по… — раскладка клавиатуры будет переключаться при нажатии на клавиши, которые можно выбрать в настройках из выпадающего списка. Поддерживаемые клавиши: Ctrl, Shift, Caps Lock, Alt и Space. Раскладку переключает лишь короткое нажатие (исключение — Caps Lock). Чтобы избежать переключения, удерживайте клавишу.

Только русский/английский — при использовании нескольких раскладок, основными из которых являются русская и английская, вы можете установить горячие клавиши, по которым программа будет переключаться только между этими двумя раскладками. А, например, по клавишам Ctrl + Shift будет выполняться перебор всех раскладок.

Единая раскладка — для всех приложений раскладка клавиатуры будет одинаковой, такой, какую вы выбрали при помощи Punto Switcher. Настройка работает при переключении раскладки по одной горячей клавише.

Дополнительно переключать по… — включение режима «Левый Shift — русская, правый Shift — английская раскладка» и т. п. Для других раскладок эта функция не поддерживается.

Прокрутка буфера экрана — консоль Windows

Обратная связь Редактировать

Твиттер LinkedIn Фейсбук Эл. адрес

  • Статья
  • 2 минуты на чтение

Важно

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

В окне консоли отображается часть активного экранного буфера. Каждый экранный буфер поддерживает свой собственный текущий прямоугольник окна, который определяет координаты верхней левой и нижней правой ячеек символов, которые должны отображаться в окне консоли. Чтобы определить текущий прямоугольник окна экранного буфера, используйте GetConsoleScreenBufferInfo . Когда экранный буфер создан, верхний левый угол его окна находится в верхнем левом углу экранного буфера консоли в точке (0,0).

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

  • Когда SetConsoleWindowInfo вызывается для указания нового прямоугольника окна, он прокручивает представление экранного буфера консоли, изменяя положение прямоугольника окна без изменения. размер окна. Примеры прокрутки содержимого окна см. в разделе Прокрутка окна буфера экрана.

  • При использовании функции WriteFile для записи в экранный буфер с включенным режимом переноса в конце строки (EOL) прямоугольник окна автоматически сдвигается, поэтому курсор всегда отображается.

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

  • Когда пользователь изменяет размер окна консоли или использует полосы прокрутки окна, прямоугольник активного экранного буфера может измениться. Об этом изменении не сообщается как о событии изменения размера окна во входном буфере.

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

  • При вызове функции ScrollConsoleScreenBuffer прямоугольный блок копируется из одной части экранного буфера в другую.
  • При использовании WriteFile для записи в экранный буфер с включенным режимом переноса в режиме вывода EOL содержимое экранного буфера консоли автоматически прокручивается при достижении конца буфера экрана консоли. Эта прокрутка отбрасывает верхнюю строку экранного буфера консоли.

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

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

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

Отправить и просмотреть отзыв для

Этот продукт Эта страница

Просмотреть все отзывы о странице

Оболочка

. Что такое прокрутка и буфер прокрутки?

Это немного сложный вопрос. Постараюсь по очереди ответить на ваши вопросы, но сначала общее описание:

Буфер обратной прокрутки реализуется вашим эмулятором терминала ( xterm , Konsole, терминал GNOME). Он содержит весь текст, отображаемый на экране, включая стандартный вывод и стандартную ошибку каждой программы, которую вы запускаете в терминале. Это полностью терминальная функциональность, позволяющая вам просматривать прошлые выходные данные, которые, возможно, прокручивались мимо вас, или проверять, что что-то было сказано ранее.

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

Предположим, ограничение составляет 1000 строк. Для первой тысячи строк вывода в вашем сеансе вы просто добавляете в буфер, и вы можете прокрутить вверх прямо до начала вашего сеанса. Как только вы получаете 1001-ю строку вывода, первая строка в буфере стирается, а самая дальняя строка, которую вы можете прокрутить, будет второй строкой вашего сеанса. Буфер всегда будет содержать самую последнюю тысячу строк вывода, которые отображались на вашем экране, и вы можете прокрутить вверх, чтобы просмотреть более ранний вывод в любое время.

  • Означает ли это «функция» как «подпрограмма» или как «функция»?

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

    Все становится немного сложнее, если добавить в смесь экран . В этот момент экран эмулирует сам буфер прокрутки, поэтому вы можете копировать и вставлять его в программу, а не только (скажем) с выбором X.

  • Существует ли стандарт Unix или API для этого буфера обратной прокрутки?

    Короткий ответ — нет, это просто предоставлено вашим терминалом. Более длинный ответ мы получим внизу.

  • В «стеке» программ, таких как vim, запущенный на экране, запущенный в bash, запущенный в ssh, запущенный в эмуляторе терминала, какая из этих программ управляет буфером прокрутки?

    В случае vim и bash , они его вообще не контролируют (опять же предостережение ниже). Ваш терминал предоставляет буфер прокрутки для всех программ внутри него, начиная с вашей оболочки. screen , как упоминалось выше, имитирует саму прокрутку.

  • Я также использовал screen для сброса прокрутки в файл. В этом файле было много пустого пространства вверху, и кажется, что «вид», который показывает мне мой эмулятор терминала, — это просто несколько нижних строк буфера.

    Это внутренний буфер экрана . То, что находится на вашем экране в это время, как правило, находится в самом низу буфера.

  • Поэтому такая программа, как vim, может «очистить» все мое окно терминала, потому что она получает временный доступ к буферу прокрутки родительской оболочки?

    Вот одна часть, где все становится намного сложнее. Практически все эмуляторы терминалов на основе X имитируют VT100, и одна вещь, которую они там делают, это поддержка «Альтернативного буфера экрана». В отличие от обычного буфера, который используется для большинства взаимодействий с терминалом с последовательным выводом, буфер альтернативного экрана имеет точный размер вашего терминала. В нем нет прокрутки вверх или вниз, потому что он не больше, чем отображается.

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

    Этот альтернативный буфер является одним из предостережений, упомянутых выше. Иногда программа действительно может указать терминалу, что делать с буфером.

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

  • Или vim использует собственный буфер прокрутки, который каким-то образом накладывается поверх родительского буфера прокрутки?

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

Все упомянутые мною исключения:

Все снова немного усложняется. Я сказал, что приложения не имеют никакого контроля над прокруткой и что она полностью обеспечивается терминалом. В некоторых случаях с некоторыми терминалами взаимодействие ограничено. Программа распечатывает определенные escape-последовательности — если вы когда-либо использовали раскрашивание терминала вручную в прошлом, вы видели, как они выглядят, — и терминал может интерпретировать их и изменять свое поведение или даже отправлять информацию обратно в программу. Какие escape-последовательности доступны, описано в базе данных termcap (возможности терминала).

Некоторые терминалы поддерживают ограниченные запросы и манипулирование буфером обратной прокрутки. Многие производные xterm имеют escape-последовательности, которые заставляют терминал прокручивать свое представление. Многие терминалы также поддерживают указание определенной области экрана для прокрутки, оставляя все остальное без изменений. Это приводит к поломке буфера прокрутки.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *