【发布时间】:2013-04-28 13:47:59
【问题描述】:
我在 Linux 中工作(如果有影响的话,我还使用 konsole)并且希望对屏幕进行一些基本的控制。我需要的很简单,不需要 ncurses 的全部功能,我真正需要三个简单的命令,“清除屏幕”、“转到 x 和 y”和“使用此颜色”。
任何人都可以提出建议吗?
【问题讨论】:
-
ncurses 有什么问题?对于您要查找的这三个命令,它非常简单
我在 Linux 中工作(如果有影响的话,我还使用 konsole)并且希望对屏幕进行一些基本的控制。我需要的很简单,不需要 ncurses 的全部功能,我真正需要三个简单的命令,“清除屏幕”、“转到 x 和 y”和“使用此颜色”。
任何人都可以提出建议吗?
【问题讨论】:
要控制屏幕,您需要发送(或打印)ANSI 控制序列。
清除屏幕的顺序是\e[2J,你可以只是puts或print到STDOUT,这取决于你的需要。
Ruby 中的一些示例方法:
def clear_screen
print "\e[2J"
end
def clear_line
print "\e[2K"
end
def reset_cursor
print "\e[H"
end
def position_cursor(y,x)
print "\e[#{y};#{x}H"
end
def red
print "\e[0;31m"
end
序列表在这里: http://ascii-table.com/ansi-escape-sequences.php
您可以在此处查看颜色序列表: http://www.pixelbeat.org/docs/terminal_colours/
【讨论】: