Vim

如何在保留標題的同時滾動大數據文件

  • May 28, 2020

假設我有一些大數據文件,它在垂直和水平方向都溢出螢幕。我怎樣才能瀏覽這個文件,而標題行留在螢幕上?

目前,我正在使用less -S,以便我可以很好地水平和垂直滾動我的文件。但是,向下滾動時,標題行明顯消失了。有沒有辦法讓這些使用更少?

另一種方法是vim在分屏模式下使用:set nowrap. 但是,現在如果我水平滾動,頂部視窗不會以相同的方式:windo set scrollbind滾動(據我所知僅適用於垂直滾動)。

如果您熟悉 vim,這可能是您的最佳選擇。您可以通過更改啟用僅水平滾動綁定'scrollopt'

set scrollopt=hor

因此vim -u NONE,您可以通過以下方式獲得所需的行為:

:set scrollopt=hor
:set nowrap
:1split
:windo set scrollbind

您可能需要分別調整'sidescroll''sidescrolloff'更改跳過的列數以及從邊緣跳過開始的距離。

在支持設置滾動區域的終端上:

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"
)

(假設 shell 類似zshor ,它根據終端的大小bash設置$COLUMNSand變數)。$LINES

引用自:https://unix.stackexchange.com/questions/60507