Vim несколько мета-ключей - PullRequest
3 голосов
/ 13 февраля 2011

Обновление: Оказывается ошибка в MacVim (или, возможно, функция, которая еще не реализована).


Япытаясь Vim, исходя из TextMate .TextMate имеет плагин Ruby, где вы можете набрать Control + Command + Shift + E , и он найдет все строки в вашемфайл, содержащий "# =>", и он обновит их проверенным результатом этой строки.

Я нашел библиотеку, которую они используют для этого, она называется xmpfilter и поставляется с rcodetools.

Так что я могу заставить Vim выполнить то же поведение, набрав «mzggVG:! Xmpfilter -a», который выделит весь файл, перейдет в режим последней строки и передаст содержимое в xmpfilter,и затем замените выделенное содержимое на результат.

Но я хочу сопоставить его с той же комбинацией клавиш, которую использует TextMate, чтобы у него был тот же интерфейс, потому что это стало огромным часть моего рабочего процесса.

Вот несколько примеров того, как я пытался сделать эту работу

:nmap <silent> <D-C-E> mzggVG!xmpfilter -a<cr>'z
:nmap <silent> <S-D-C-e> mzggVG!xmpfilter -a<cr>'z
:nmap <silent> <SDC-e> mzggVG!xmpfilter -a<cr>'z
:nmap <silent> <S-<D-<C-e>>> mzggVG!xmpfilter -a<cr>'z
:nmap <silent> <SDC-e> mzggVG!xmpfilter -a<cr>'z
:nmap <silent> <S-><D-><C-e> mzggVG!xmpfilter -a<cr>'z

Но ни один из них не работает правильно.Казалось бы, Я не могу понять, как указать несколько мета-ключей .(В качестве проверки работоспособности я убедился, что :nmap <silent> <S-e> mzggVG!xmpfilter -a<cr>'z работает.) Буду признателен за любую помощь.

(Примечание: я использую MacVim на Snow Leopard)

1 Ответ

2 голосов
/ 13 февраля 2011

Если я не ошибаюсь, командный ключ представлен D, а не M (я верю, что M). Я думаю, что вы хотите использовать <S-D-C-e>. ** Примечание. Насколько я знаю, командный ключ работает только при использовании графического интерфейса.

...