我使用PuTTY和xterm bash控制台访问Ubuntu 12.04。我有一个构建脚本调用cmake
并将STDERR传递给STDOUT。当出现编译时错误时,控制台有时会填充错误消息页面。我只对前几条消息感兴趣,所以必须多次向上滚动才能看到它。如何在cmake命令之前放置某种标记(例如ANSI转义码)并以编程方式将缓冲区滚动回到该点?
如果不可能,如果窗口大小可变,我怎样才能将输出截断为一个屏幕文本?我通常会使用LINES
环境变量,但它无法访问,如set
所示。 man pg
谈论"系统提供的行数"和pg
仍然有效,那么我怎样才能获得此值?
答案 0 :(得分:1)
PuTTY和xterm都没有办法标记回滚区域,并使终端向后滚动屏幕顶部的回滚区域。像许多功能一样,这将是“可行的”#34;但不属于正常使用范围。
问题的关键部分是
如何将输出截断为一屏文本
你可以通过(暗示)某种类型的寻呼机来做到这一点。 pg
太有限了,无法考虑。一些文本编辑可以通过一些工作来完成这项工作。 vim和vile都可以从标准输入中读取文件;都有脚本语言。 (据我所知)两者都没有预制的脚本来执行此操作:
如果没有换行,脚本会相当简单,因为H
(屏幕顶部),L
(屏幕底部)和复制文本范围内的操作从一行到另一行是原始vi
的一部分。
换行会使事情复杂化。可以有一条比屏幕更长的线。当然可以有一条较短的线条包裹在可见屏幕的末端。可以编写宏来查找屏幕的结尾并保存该文本量。但是没有内置功能来简化它(例如参见 All the right moves )。它是可行的"。
答案 1 :(得分:0)
<ion-content ng-controller="ExampleCtrl">
<input ion-autocomplete type="text" readonly="readonly" class="ion-autocomplete"
placeholder="Enter the country to search"
items-method="getCountries(query)"
items-clicked-method="clickedMethod(callback)"
item-view-value-key="name"
item-value-key="id_country"
items-method-value-key="items"
max-selected-items="1"
autocomplete="off"
ng-model="currentCountry"
external-model="initialCountry"
model-to-item-method="modelToItemMethod(modelValue)"
/>
</ion-content>
回答第二部分,但计算逻辑行,而不是屏幕行,因此不会处理环绕的行。