vim中一个令人沮丧的行为是,当我将光标向右或向左移动(分别为“l”或“h”)并且在行的结尾或开头时,我的光标不会移动到下一行的第一列或上一行的最后一列。
有没有办法改变这种行为?
您可以使用whichwrap设置使h和l围绕单个行的开始和结束:
set whichwrap+=h,l
然而,Vim的文档建议这样做,可能是因为它可能有意想不到的副作用(如打破插件,或更改常用的键映射工作)。
作为替代,你可以做什么马蒂Virkkunen推荐:
set whichwrap+=<,>,[,]
这使h和l具有默认行为,但允许左和右箭头键包围线。 (这是我做的,它的工作原理)。
您可能还需要查看退格设置,以控制Backspace,Delete,Control W和Control U在插入模式下的工作方式。我这样设置:
set backspace=indent,eol,start
这让我几乎一切回退。
有关更多信息,请参阅Vim帮助中的以下主题:
:help 'whichwrap :help 'backspace