Vimscript: срабатывает при перемещении курсора между строками
Мне нужен триггер autocmd для использования, когда курсор перемещается между строками.
Теперь я использую:
:autocmd CursorMoved * call MyFunc()
С его помощью MyFunc выполняется при каждом движении курсора, но мне нужен триггер только при движении курсора вверх или вниз (не вправо и влево)
Правка:
Проверка строки курсора с последней записанной строкой работает для меня.
if line(".") != s:recordedLine
let s:recordedLine = line(".")
....
1 ответ:
Я не думаю, что вы можете сделать именно то, что вы пытаетесь сделать. Вероятно, вам придется вызывать
MyFunc()каждый раз, но поставить условие в функцию, чтобы решить, следует ли выполнять действие. Возможно, вы могли бы использоватьgetchar(), чтобы выяснить, был ли нажат j или k. Или, возможно, вы можете записать текущий номер строки (let line=getline('.')) и сравнить его с предыдущим номером строки.
Comments