vimscript获取第一个和最后一个可见行的数量

时间:2011-05-30 11:37:19

标签: vim

我知道我可以分别用H和L转到当前缓冲区的第一个和最后一个可见行。但我如何将行号传递给变量?

2 个答案:

答案 0 :(得分:8)

let topline = line("w0")
let botline = line("w$")

答案 1 :(得分:0)

可能有更好的方法,但如果没有其他方法,您可以使用HL移动到那里,``返回并获取。像

这样的东西
norm 'H'
let top=line('.')
norm '``L'
let bottom=line('.')
norm '``'

或者你可以使用getpos()存储和setpos()来恢复位置,但我不确定你是否可以避免破坏之前的位置标记(:keepmarks命令应该这样做,但它的文档说它只适用于某些特殊情况。)