Я использую YouCompleteMe с Vim, который хорошо подходит для заполнения идентификаторов, включая имена функций.
Тем не менее, я все еще чувствую себя менее продуктивно, чем в IDE, которая завершает полный вызов функции с «токенами», через которые я могу перейти, чтобы заполнить каждый аргумент (или принять имя аргумента по умолчанию, например, пройти через тот же аргумент в текущей области.
Вот пример того, как токенизированное автозаполнение ускоряет меня по сравнению с моим рабочим процессом Vim:
NSMakeRect, which autocompletes with labeled placeholders for each of the four arguments. I jump to the first placeholder, then type a value and repeat for the remaining arguments.">
![I perform the same operation in Vim, but it only autocompletes the first part of the function call and I have to type the rest by hand.](https://i.stack.imgur.com/M0ck0.gif)
Или, если я вызываю реализацию метода базового класса:
super and then the name of a method, and the method invocation appears with named placeholders for each argument. I jump to each placeholder and press "return", which replaces the placeholder with its label, which match the names of the variables I want to pass through.">
![Again, Vim only completes the first part of the method name, and I type the rest by hand.](https://i.stack.imgur.com/6NS1z.gif)
Я использую ObjC в примерах, потому что он особенно многословен, но те же различия применимы к C и C ++.
Включают ли какие-либо плагины или рабочие процессы Vim этот вид быстрого, ориентированного на токены завершения кода?