#1053·bat

讨论: 'bat' 的内置分页器

作者: sharkdp创建于 2020年6月5日更新于 2026年9月11日
标签feature-requestpager-related

让我们用这张票来讨论一些想法以及写我们自己的自定义寻呼器库的可能的倒数/倒数,而不是叫外部的"$PAGER"进程(或本质上是"Less").

如果我们在`bat'中使用内置的传呼器,有几个好处:

  • 在所有操作系统中有一个一致的传呼机经验。 不需要调用可能无法使用的外部程序 。 没有针对不同版本的"Less"进行特殊处理/bug修复. 一致地"一屏一屏"处理,并多多(#860,#1000,#717,#710,#681,#520,#415,#312,#271,#519,#376,#887,#943,#838. ).
  • 处理终端调整大小的事件。 这是我个人的主要动机。 (# 294,# 322,# 921,# 1009)
  • 有按键的开口编辑器(# 358,#464,#528,#697,#1051,#1607) – 即使向下滚动(# 908) , 也总是在屏幕上方绘制标题的可能性
  • 建立`跟踪 ' 支助(#457,#808)
  • 处理多个文件? (按下 “n” 键可转到下一个文件)
  • 处理错误: 我们可以在呼叫器页脚上打印出错误/ 警告, 而不是在背景( # 946)
  • 更好的“ tab” 处理 (# 980, # 894)
  • 处理ANSI超链接(# 961)
  • 重新装入显示的文件 。
  • 通过按键压禁用样式组件。 例如: 用按键压关闭侧边栏 - 方便复制并粘贴 。
  • 正确处理搜索,并启用包装。 正在搜索被包裹的单词( # 1475) 已断开

作为图书馆的"传呼机"的一般优点(不只是‘bat'):

  • 让一切易于配置:自定义标题和页脚信息、密钥绑定 -双向通信:将"terminal resize"等事件或密钥按回主应用程序来触发重画或其他动作.

明显的缺点是: 这将是很多工作: 笑: 我敢肯定,将会有TONS的bug报告 关于模糊的终端仿真器和操作系统 事情没有达到预期的效果 - 这会导致更多的工作。 " 少 " 有36年的经验。

绕过第二点的一个方式就是使这成为选择进入的特征,至少在开始时是这样.

我已经开始在私人仓库里 执行一个非常简单的 跨平台的寻呼器 最初的结果看起来很有希望: !. [出 (https://user-images.githubusercontent.com/4209276/83922826-552f3b80-a781-11ea-9da5-ef6616f9ae80.gif).

我很高兴听到你的想法和想法!