当i为移动命令时,VIM映射内字功能。

问题描述 投票:0回答:1

我正在学习vim,并缓慢但肯定地适应我的vimrc。

我正在用 "jlim "移动,并用k.进入插入模式,我想做的是将动作与文本对象结合起来,但当我想改变内词(对我来说应该是c k w)时,我去一行而不是改变内词。

但是,当我想改变内部单词(应该是c k w)时,我去了一行而不是改变内部单词。我检查了:index和:c和:iw,但我不明白如何将我的动作映射到内部词?

vimrc:

`" set move keys in vim
   map m <down>
   map i <up>
   map j <left>
   map l <right>
`

问候

解决"{动作}{文本对象}"而k是插入。

" set move keys in vim
nnoremap m <down>
nnoremap i <up>
nnoremap j <left>
nnoremap l <right>

" n for normal mode and noremap to not make k map to up
nnoremap k i
dictionary vim action word hotkeys
1个回答
1
投票

如果我理解正确的话,你要找的是 :h onoremap 如果你想让CKW做CiW,你就需要

:onoremap kw viw

这将是所有类型的支架所必需的(对于i内和周围的运动()。ciwcaw)). 我不建议这样做。只要坚持使用默认值即可。


1
投票

如果你只想改变所有的东西,那就是...。ik (我建议不要这样做,它们是有原因的),你可以只用 map 它。

话说回来,屼。map 是矫枉过正。你会更好地与 noremap 其中 不会递归地改变你的映射。. 你也最好指定你想要这些映射使用的模式。如果你必须改变移动键(我也不建议这样做),我建议使用

nnoremap m <down>
nnoremap j <left>
nnoremap l <right>
nnoremap i <up>

然后你可以改变你想要的东西 k 苟且 nnoremap:

"n for normal mode, noremap for not making your k map to <up>
nnoremap k i
© www.soinside.com 2019 - 2024. All rights reserved.