#vim
#vim
Вопрос:
Я знаю, что могу перейти к первой и последней видимой строке текущего буфера с помощью H и L соответственно. Но как я могу передать номера строк переменным?
Ответ №1:
let topline = line("w0")
let botline = line("w$")
Ответ №2:
Возможно, есть способ получше, но если ничего другого нет, вы можете использовать H
и L
для перемещения туда и ``
для возврата и get . Что-то вроде
norm 'H'
let top=line('.')
norm '``L'
let bottom=line('.')
norm '``'
или вы можете использовать getpos()
для сохранения и setpos()
восстановления позиции, но я не уверен, что вы сможете избежать уничтожения метки предыдущей позиции ( :keepmarks
команда должна это сделать, но в документации сказано, что это работает только в каком-то особом случае).