Vimscript: срабатывает при перемещении курсора между строками



Мне нужен триггер autocmd для использования, когда курсор перемещается между строками.



Теперь я использую:



:autocmd CursorMoved * call MyFunc()


С его помощью MyFunc выполняется при каждом движении курсора, но мне нужен триггер только при движении курсора вверх или вниз (не вправо и влево)



Правка:



Проверка строки курсора с последней записанной строкой работает для меня.



if line(".") != s:recordedLine
let s:recordedLine = line(".")
....
526   1  

1 ответ:

Я не думаю, что вы можете сделать именно то, что вы пытаетесь сделать. Вероятно, вам придется вызывать MyFunc() каждый раз, но поставить условие в функцию, чтобы решить, следует ли выполнять действие. Возможно, вы могли бы использовать getchar(), чтобы выяснить, был ли нажат j или k. Или, возможно, вы можете записать текущий номер строки (let line=getline('.')) и сравнить его с предыдущим номером строки.

Comments

    Ничего не найдено.