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