假设我有一些大的数据文件,它在垂直和水平方向上溢出屏幕。如何在标题行保留在屏幕上的情况下浏览该文件?
目前,我正在使用less -S
,这样我就可以很好地水平和垂直滚动我的文件。然而,当向下滚动时,标题行明显消失。有没有办法减少这些使用?
另一种方法是vim
在分屏模式下使用:set nowrap
.但是,现在如果我水平滚动,顶部窗口不会以相同的方式滚动(:windo set scrollbind
据我所知,仅适用于垂直滚动)。
答案1
在支持设置滚动区域的终端上:
tailf() ( # args: <file> [<number-of-header-lines>]
trap 'tput csr 0 "$((LINES-1))"' INT
tput csr "$((1+${2-1}))" "$((LINES-1))"
tput clear
{
head -n"${2-1}"
printf "%${COLUMNS}s\n" "" | tr ' ' =
tail -n "$((LINES-1-${2-1}))" -f
} < "$1"
)
zsh
(假设有一个类似于或 的shell ,它根据终端的大小bash
设置$COLUMNS
和变量)。$LINES
答案2
如果您熟悉 vim,这可能是您的最佳选择。您可以通过更改启用水平滚动绑定仅'scrollopt'
:
set scrollopt=hor
因此,通过vim -u NONE
,您可以通过以下方式获得所需的行为:
:set scrollopt=hor
:set nowrap
:1split
:windo set scrollbind
您可能需要分别调整'sidescroll'
和'sidescrolloff'
更改跳过的列数以及距边缘跳过开始的距离。
答案3
答案4
的前沿版本less
通过该选项支持这一点--header
。
较少版本 603 发行说明
版本 603 于 2022 年 3 月 15 日发布进行 Beta 测试。
以下是版本 590 和版本 603 之间的差异:
- 添加 --header 选项。
- 添加 --no-number-headers 选项。
- 添加 --status-line 选项。
- ...