Разрешение конфликта отображения плагина vim - отображение уже существует для\t - программирование
Подтвердить что ты не робот

Разрешение конфликта отображения плагина 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>

Есть ли хороший способ решить эту проблему?

4b9b3361

Ответ 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 и вручную изменить отображаемое там отображение.