Разрешение конфликта отображения плагина vim - отображение уже существует для\t
Я последовал за http://sontek.net/blog/detail/turning-vim-into-a-modern-python-ide#intro, чтобы установить кучу плагинов для программирования на Python в gvim (установлен на машине Windows 8). Похоже, что существует конфликт отображения между плагинами "command-t" и "tasklist", так как появляется следующее сообщение об ошибке:
>Error detected while processing C:\Users\Willem\vimfiles\bundle\tasklist\pl
>ugin\tasklist.vim:
>
>line 369:
>
>E227: mapping already exists for \t
Затем я печатаю: map в vim и вижу, что одно отображение:
>n \t * :CommandT<CR>
Есть ли хороший способ решить эту проблему?
Ответы
Ответ 1
список задач не будет отображаться в <leader>t
, если будет найдено сопоставление с <Plug>TaskList
.
Поэтому вам просто нужно создать сопоставление с <Plug>TaskList
в вашем vimrc. Пример, который я нашел в исходном коде, был
nnoremap <leader>v <Plug>TaskList
Ответ 2
Вот более общее объяснение:
Из справки vim:
Оба <SID>
и <Plug>
используются, чтобы избежать отображения сопоставленных клавиш мешают сопоставлениям, которые должны использоваться только из других отображений. Обратите внимание на разницу между использованием <SID>
и <Plug>
:
<Plug>
отображается за пределами script. Он используется для сопоставлений которые пользователь может захотеть сопоставить последовательность клавиш. <Plug>
является специальный код, который не будет выдаваться набранный ключ. Сделать это очень маловероятно, что другие плагины используют одну и ту же последовательность символов, используйте эта структура: scriptname mapname В нашем примере scriptname - "Typecorr", а mapname - "Добавить". Это приводит к "TypecorrAdd". Только первый символ имени сценария и mapname имеет верхний регистр, поэтому мы можем видеть, где начинается имя карты.
Итак, если вы хотите, чтобы ошибка не отображалась, вам нужно сопоставить что-то с <Plug>Tasklist
в вашем примере.
Вот так:
nnoremap <leader>v <Plug>TaskList
Ответ 3
Другим, возможно, несовершенным, было бы прямое редактирование tasklist.vim
вокруг строки 369 и вручную изменить отображаемое там отображение.