在Vim中从f切换到f,无需,

在Vim中从f切换到f,无需,,vim,Vim,在使用f{char}运动后,是否可以改变方向以便将返回(就像您使用了F{char})?(反之亦然,使用tT) 我将尝试使用,作为LocalLeader,并且我可以再次访问,: let maplocalleader = ',' nnoremap <LocalLeader><LocalLeader> <LocalLeader> 让maplocalleader=',' nnoremap 但我想知道我是否能映射使之成为在两种行为之间切换,就像和,。我看不到任何地方

在使用
f{char}
运动后,是否可以改变方向以便
将返回(就像您使用了
F{char}
)?(反之亦然,使用
tT

我将尝试使用
作为LocalLeader,并且我可以再次访问

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

但我想知道我是否能映射
使之成为
在两种行为之间切换,就像
。我看不到任何地方存储了
f
的字符,所以我可以这样做吗?

不,这是不可能的,除非您自己重新实现
f
命令(这听起来并不难;实际上还有一些插件可以增强它,以便在后续行中搜索)。但是,可以为
n
/
n
(通过
v:searchforward
)执行此操作


总的来说,我建议不要使用这种聪明的“把戏”;它们会重新训练你的肌肉记忆,并在其他类似vi的键绑定环境(Pentadactyl、Bash、readline和一些IDE)中造成问题。相反,要重新考虑映射方法。

不,这是不可能做到的,除非您自己重新实现
f
命令(这并不像听起来那么困难;实际上还有一些插件可以增强它,以便在后续行中搜索)。但是,可以为
n
/
n
(通过
v:searchforward
)执行此操作


总的来说,我建议不要使用这种聪明的“把戏”;它们会重新训练你的肌肉记忆,并在其他类似vi的键绑定环境(Pentadactyl、Bash、readline和一些IDE)中造成问题。相反,请重新思考您的映射方法。

是否有其他人阅读了此问题的标题并认为“使用Shift或Caps Lock!”?是否希望
是否像
?使用
作为
引导者
本地引导者
只会引入延迟,此时Vim正在等待进一步的按键。延迟过后,如果您没有更改默认值,
会正常运行1秒:它会以相反的方向执行上一个动作。为什么不直接使用
?这正是你所要求的(据我所知)。它以相反的方向搜索同一个字符。@JordanParmer:如果我重新映射
(成为localleader),那么我必须等待
timeoutlen
,让Vim认识到我想要的是
,而不是以localleader开头的命令。还有人读过这个问题的标题并认为“使用Shift或Caps Lock!”?是否要
是否像
?使用
作为
引导者
本地引导者
只会引入延迟,此时Vim正在等待进一步的按键。延迟过后,如果您没有更改默认值,
会正常运行1秒:它会以相反的方向执行上一个动作。为什么不直接使用
?这正是你所要求的(据我所知)。它以相反的方向搜索同一个字符。@JordanParmer:如果我重新映射
(成为localleader),那么我必须等待
timeoutlen
,Vim才能识别出我想要的是
,而不是以localleader开头的命令。出于好奇,你将Leader和LocalLeader映射到什么?@pydave:我将它们都保留为默认值(反斜杠);使用美式英语键盘对我来说很方便。另外,我有一些自定义的运动和文本对象,以
开头(尤其是我的camelcasemotion插件)。出于好奇,你将Leader和LocalLeader映射到什么?@pydave:我将它们都保留为默认值(反斜杠);使用美式英语键盘对我来说很方便。此外,我还有一些自定义的动作和文本对象,以
开头(尤其是我的camelcasemotion插件)。