我在~/.bashrc
中使用它来使用F12清除终端:
bind '"\e[24~": "\C-k\C-u echo -ne \047\\0033\\0143\047\n"'
显然,这不会影响gdb或终端发起的任何其他程序。
如果输入gdb提示符,似乎正确清除:
!echo -ne "\033\0143"
那么,如何正确清除gdb屏幕,以便你无法回滚?
答案 0 :(得分:0)
这取决于终端仿真器,回滚是终端仿真器功能。
This answer over on apple.stackexchange.com表示某些终端仿真器实现了ANSI标准的扩展,允许这样做:
printf '\e[3J'
其中printf
是bash命令。因此,如果你的终端模拟器实现了这个,那么gdb中的等效echo应该可以工作。
答案 1 :(得分:0)
使用https://stackoverflow.com/a/35801000/4742108,最终解决方案是添加到~/.inputrc
:
"\e[24~":'!echo -ne \047\\0033\\0143\047\r'
这是有效的,因为gdb使用readline库。