簡體   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