[英]Vim: Leader not working
尝试使用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
比1000ms早,这是我的timeoutlen
。
我还在.vimrc
和/etc/vimrc
中都尝试了以下设置(尽管我认为这里只需要设置mapleader
):
let mapleader = ","
let maplocalleader = ","
此后,Vim的行为方式相同:无提示音,无错误,输入后,ll
光标将向右移动2个字符。
任何想法如何解决这一问题?
尝试清除〜/ .viminfo文件的内容,如果正在使用会话插件,请清除生成的文件中的会话数据。 然后重新启动Vim。 有时,当我尝试不同的设置,映射等时,它对我有帮助。
如果您缩短了timeoutlen
,那么您将无法足够快速地键入内容。 如果查看:help 'ttimeoutlen'
,则会看到以下提示:
:set timeout timeoutlen=3000 ttimeoutlen=100
卸载Vim,删除所有插件和配置文件并重新安装后,Leader可以正常工作。 不幸的是,我不知道是什么原因导致Vim忽略了Leader。
如果您的.vimrc
有这样的映射,
nmap <Leader>rf @<Plug>Tex_RefreshFolds
那么nmap
的输出(不带参数)应该是这样的:
n \rf @<Plug>Tex_RefreshFolds
换句话说,“ <Leader>”应扩展为“ \\”。 由于您的情况并非如此,因此映射发生了问题。 这可能是由cpoptions中的“ <”引起的。 尝试set cpoptions?
去检查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.