2014-09-28 4 views
1

У меня есть два окна vim, и я хочу перейти в другое окно в соответствии с функцией.Как переключиться на другое окно vim и указать местоположение курсора

Надеюсь указать местоположение курсора в моей функции. Код

call feedkeys("\<C-W>W<CR>") 
call cursor(10,10) 

Однако функция cursor все еще привязан к исходному окну. Как сообщить cursor знаете, что переключилось в новое окно?

ответ

1

Я нахожу решение:

wincmd w 
call cursor(10,10) 
3

feedkeys() просто добавляет (виртуальная) нажатия клавиш в очередь ввода, и который будет обработан только после вашего возвращения функции Vim. Вот почему ваше размещение курсора выполняется до переключатель в окнах.

В общем, избегайте feedkeys(), если вам это действительно нужно! (Таких ситуаций мало.) Чтобы выполнить команду нормального режима, вместо этого используйте :normal!. Для оконных команд есть даже специальный :wincmd (как вы обнаружили).

Смежные вопросы