2012-08-22 81 views
2

使用f{char}動作後,是否可以更改方向,以便;會倒退(就像您使用的是F{char}一樣)? (反之亦然,並與tT在Vim中從f切換到F無,

我打算使用,作爲LocalLeader嘗試,我有這個讓我再次訪問,

let maplocalleader = ',' 
nnoremap <LocalLeader><LocalLeader> <LocalLeader> 

但我不知道我是否可以映射<LocalLeader>;使;轉換爲;,。我沒有看到任何存儲f的字符,所以我可以這樣做嗎?

+1

是否有人讀過這個問題的標題,並認爲「使用Shift或Caps Lock!」? – Hbcdev

+0

你想'';'像''一樣行事,'?使用''''作爲'leader'或'localleader'只會引起Vim等待進一步按鍵的延遲。延時過後,如果你沒有改變默認值1秒,'','正常動作:它以相反的方向進行前一個動作。 – romainl

+0

爲什麼不使用','?這正是你所問的(從我可以告訴的)。它在相反方向搜索相同的字符。 –

回答

4

不,這是不能完成的,除非你自己重新實現了f命令(這聽起來並不困難;實際上有插件可以增強它在後面的行中搜索)。不過,它可以通過n/N(通過v:searchforward)完成。一般來說,我會建議採用如此聰明的「技巧」;他們重新訓練你的肌肉記憶,並在其他環境中使用vi-like鍵綁定(Pentadactyl,Bash,readline,一些IDE)引發問題。相反,重新考慮你的映射方法。

+0

出於好奇,你將Leader和LocalLeader映射到什麼地方? – idbrii

+0

@pydave:我把它們都保存在默認(反斜槓);使用美式英文鍵盤對我來說很方便。另外,我有一些以','開頭的自定義動作和文本對象(特別是我的camelcasemotion插件)。 –