Ну, чтобы ответить на мой собственный вопрос, я нашел способ решить эту проблему. Я заметил, что журнал изменений WinRAR указывает, что самораспаковщик WinRAR также страдал от той же самой проблемы, и что она была решена. Поэтому я скачал последнюю версию WinRAR и бросил ее в дизассемблер вместе с более ранней версией, ища любые новые вызовы API и т. Д. Короче говоря, оказывается, что все, что он сделал, это добавил следующее в манифест:
Некоторое прибегание к поиску строк вызвало некоторую документацию: очевидно, это что-то новое, что было добавлено в Windows 7, и что документация для него была создана 20 мая. Это не помогло, что Microsoft не ссылается на это ни на одной из своих страниц документации по Win7, тем более, что это заметно. вздох
Редактировать: Это плохо документировано на MSDN здесь .
Замечательно! Ответ Майкла указал мне на плагин, который мне нужен, чтобы закончить мой плагин, который теперь может делать то, что вы хотите - я целую вечность пытался понять, как это сделать!
1) Установить Tim Pope's плагин
2) Установить мой плагин
3) Добавить сопоставление в ваш .vimrc
:
nnoremap <space> :<C-U>call InsertChar#insert(v:count1)<CR>
Это работает для вас?
noremap <silent> <space> :exe "normal i".nr2char(getchar())<CR>
Возможно, вам стоит взглянуть на этот скрипт плагина. Возможно, удастся настроить вашу карту так, чтобы она могла поддерживаться. Прочтите вспомогательную документацию
Извините, я не могу дать конкретный ответ на вашу проблему, но отмечу, что обычно использую . когда мне нужно воспроизвести довольно много команд (например, я хочу вставить f 5 или более раз).
Если это так, я не думаю, что использование вашего макрос того стоит. Вы экономите одно нажатие клавиши, используя макрос вместо i f esc , и эта операция является атомарной, поэтому вы можете затем . сколько душе угодно.
Я бы просто использовал версию без макросов, если знаю, что хочу ее часто повторять.
PS Вы знаете, мне начинает немного нравиться тег : - )