繁体   English   中英

Vim:领导不工作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM