11

我按照http://sontek.net/blog/detail/turning-vim-into-a-modern-python-ide#intro在 gvim 中安装了一堆用于 Python 编程的插件(安装在 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

然后我在 vim 中输入 :map 并看到一个映射是:

>n   \t             * :CommandT<CR>

有没有解决这个问题的好方法?

4

3 回答 3

9

<leader>t如果找到映射到,任务列表将不会映射到<Plug>TaskList

所以你只需要<Plug>TaskList在你的 vimrc 中创建一个映射。我在源代码中找到的示例是

nnoremap <leader>v <Plug>TaskList
于 2013-08-20T23:33:56.037 回答
2

这是一个更一般的解释:

从 vim 帮助:

两者<SID><Plug>用于避免键入键的映射干扰仅可从其他映射中使用的映射。<SID>注意使用和之间的区别<Plug>

<Plug> 在脚本之外可见。它用于用户可能希望将键序列映射到的映射。 <Plug>是键入的密钥永远不会产生的特殊代码。为了使其他插件不太可能使用相同的字符序列,请使用以下结构: scriptname mapname 在我们的示例中,scriptname 是“Typecorr”,mapname 是“Add”。这导致“TypecorrAdd”。只有 scriptname 和 mapname 的第一个字符是大写的,这样我们就可以看到 mapname 的开始位置。

因此,如果您希望不出现错误,则需要<Plug>Tasklist在示例中映射一些内容。

像这样:

nnoremap <leader>v <Plug>TaskList
于 2014-06-15T13:41:30.347 回答
1

另一个可能不完美的解决方案是直接tasklist.vim在第 369 行周围编辑并手动更改在那里完成的映射。

于 2013-08-21T09:35:44.783 回答