【发布时间】:2012-07-18 14:31:47
【问题描述】:
尝试使用vim-latexsuite 的映射时,使用Leader 的映射不起作用:
:nmap
----------------------------------------
n <Leader>rf @<Plug>Tex_RefreshFolds
n <Leader>ls @<Plug>Tex_ForwardSearch
n <Leader>lv @<Plug>Tex_View
n <Leader>ll @<Plug>Tex_Compile
此插件的所有其他映射都正常工作,因此插件正在正确加载。如果没有设置 mapleader,Leader 应该默认为 \(反斜杠)。
当在命令模式下输入\ll 时,光标会向右移动2 个字符,就像只需输入ll 一样。所以反斜杠似乎被忽略了。 Vim 不发出哔哔声或显示任何错误,ll 早于 1000 毫秒,这是我的 timeoutlen。
我还在.vimrc 和/etc/vimrc 中尝试了以下设置(虽然我假设这里只需要设置mapleader):
let mapleader = ","
let maplocalleader = ","
在此之后,Vim 的行为方式相同:没有哔声,没有错误,并且在输入 ,ll 后光标向右移动 2 个字符。
任何想法如何解决这个问题?
【问题讨论】:
-
输入
:echo mapleader会得到什么? :verbose nmap \? -
:echo mapleader ->
,and :verbose nmap \ (or ,) ->No mapping found -
这里,
:nmap和:nmap <leader>不返回n <Leader>b SomeCommand而是n ,b SomeCommand。请注意,<leader>已扩展为其值。在我未经训练的眼睛看来,好像 mapleader 的值将设置为字符串<Leader>,这似乎很奇怪。 -
这里可能不是这种情况,但它仍然是一个有用的花絮。如果在插件加载后更改了地图领导者,新的地图领导者将不会成为该插件映射的一部分。 mapleader 的另一个怪癖。
-
手动重新安装插件并没有改变任何东西。还有什么想法吗?