我知道我可以分别用H和L转到当前缓冲区的第一个和最后一个可见行。但我如何将行号传递给变量?
答案 0 :(得分:8)
let topline = line("w0")
let botline = line("w$")
答案 1 :(得分:0)
可能有更好的方法,但如果没有其他方法,您可以使用H
和L
移动到那里,``
返回并获取。像
norm 'H'
let top=line('.')
norm '``L'
let bottom=line('.')
norm '``'
或者你可以使用getpos()
存储和setpos()
来恢复位置,但我不确定你是否可以避免破坏之前的位置标记(:keepmarks
命令应该这样做,但它的文档说它只适用于某些特殊情况。)