2016-02-24 2 views
2

Я использую это в ~/.bashrc, чтобы очистить терминал с F12:Как очистить экран gdb полностью?

bind '"\e[24~": "\C-k\C-u echo -ne \047\\0033\\0143\047\n"' 

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

Кажется, что это очищает правильно, если ввели в GdB строке:

!echo -ne "\033\0143" 

Итак, как правильно очистить экран GDB, так что вы не можете прокручивать назад на всех?

ответ

0

И используя https://stackoverflow.com/a/35801000/4742108, окончательное решение является добавление ~/.inputrc:

"\e[24~":'!echo -ne \047\\0033\\0143\047\r' 

Это работает, потому что GDB использует библиотеку Readline.

+0

Чтобы сделать это привязку только для gdb, вам лучше приложить его с помощью $ $ if (gdb) ... $ endif '. См. Https://stackoverflow.com/a/34960428/1820106 –

0

Это до эмулятора терминала, прокрутка - это эмулятор терминала.

This answer over on apple.stackexchange.com говорит, что некоторые эмуляторы терминала реализовать расширение стандарта ANSI, который позволяет это:

printf '\e[3J' 

Где printf это команда Баш. Таким образом, эквивалентное эхо в gdb должно работать, если ваш эмулятор терминала реализует это.

Смежные вопросы