如何在终端的底部上方添加空白行

时间:2016-07-30 09:23:25

标签: linux bash macos ubuntu terminal

在vim和许多其他文本编辑器中,您可以将文件末尾向上滚动到屏幕顶部,同时将其余行显示为空白。但在终端中,默认情况下,行尾固定在终端屏幕的末尾,因此当前行始终显示在底部。如何在最后一行和屏幕底部之间添加空行时向上滚动当前行? 感谢。

2 个答案:

答案 0 :(得分:1)

大多数终端识别VT100风格的滚动区域。您可以使用它们临时设置要滚动的行的限制,并移动行。

步骤一步:

  • 保存当前光标位置
  • 在屏幕上找到行数
  • 计算您要保留的最后一个行号(上面)
  • 编写控制序列,用于设置刚刚经过该行的滚动边距,直到屏幕的末尾
  • 将光标移动到最后一行(屏幕和滚动区域)
  • 发送控制序列(或换行等),强制滚动区域向上“索引”
  • 取消设置滚动页边距
  • 恢复光标位置

在脚本中,您可以使用tput执行大部分操作,例如,

  • tput sc保存光标位置
  • tput csr 第一个,将滚动区域设置为第一行/最后一行
  • tput cup last 0 ,将光标移动到滚动区域的最后一行(使用与{{1}中相同的 last 值}命令)
  • csr一次编入索引,或tput ind 计算,以 count 行编制索引。
  • tput indn恢复光标位置

命令(tput rc等)是终端功能可以从一个终端到另一个终端不同。

虽然广泛使用,滚动区域不符合标准(ECMA-48)。

进一步阅读:

答案 1 :(得分:0)

上下移动和翻页。 如果你在Mac上,fn + shift + up or down