VIM i为移动命令时映射内字函数
VIM map inner word function when i is move command
我正在学习 vim 并缓慢但肯定地适应我的 vimrc。
我正在使用 "jlim" 移动并使用 k 进入插入模式。
我想做的就是将动作与文本对象结合起来。
但是当我想为我更改内字(应该是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 时“{action} {text object}”的解决方案:
" 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
如果你只是想将 i
所做的所有事情更改为 k
(我不建议这样做,它们是助记符是有原因的),你可以 map
它。
话虽这么说,裸 map
有点矫枉过正。 noremap
哪个 won't recursively change your mappings 你会过得更好。您还最好指定希望这些映射使用的模式。如果你必须改变移动键(我也不推荐),我建议
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
如果我没理解错的话,你正在寻找 :h onoremap
如果你想让 ckw 做 ciw 你需要
:onoremap kw viw
这对于所有类型的支架都是必需的(对于内部和周围运动(ciw
和 caw
))。我不建议这样做。坚持使用默认设置即可。
我正在学习 vim 并缓慢但肯定地适应我的 vimrc。
我正在使用 "jlim" 移动并使用 k 进入插入模式。 我想做的就是将动作与文本对象结合起来。
但是当我想为我更改内字(应该是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 时“{action} {text object}”的解决方案:
" 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
如果你只是想将 i
所做的所有事情更改为 k
(我不建议这样做,它们是助记符是有原因的),你可以 map
它。
话虽这么说,裸 map
有点矫枉过正。 noremap
哪个 won't recursively change your mappings 你会过得更好。您还最好指定希望这些映射使用的模式。如果你必须改变移动键(我也不推荐),我建议
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
如果我没理解错的话,你正在寻找 :h onoremap
如果你想让 ckw 做 ciw 你需要
:onoremap kw viw
这对于所有类型的支架都是必需的(对于内部和周围运动(ciw
和 caw
))。我不建议这样做。坚持使用默认设置即可。