自动转到vim的下一行

时间:2010-04-04 09:31:12

标签: vim

vim中的一个令人沮丧的行为是,当我向右或向左移动光标(分别为“l”或“h”)并且我在行的结尾或开头时,我的光标不会移动到第一列下一行或上一行的最后一列。

有没有办法改变这种行为?

2 个答案:

答案 0 :(得分:27)

您可以使用whichwrap设置使hl环绕各行的开头和结尾:

set whichwrap+=h,l

但是,Vim的文档建议不要这样做,可能是因为它可能会产生意想不到的副作用(比如破坏插件或更改常用键映射的工作方式)。

作为替代方案,你可以做Matti Virkkunen推荐的事情:

set whichwrap+=<,>,[,]

这会使hl保留其默认行为,但允许左右箭头键环绕线条。 (这就是我所做的,而且效果很好。)

您可能还想查看backspace设置,以控制Backspace,Delete,Control + W和Control + U在插入模式下的工作方式。我这样设置我的:

set backspace=indent,eol,start

这让我可以对所有内容进行退格。

有关详细信息,请参阅Vim帮助中的以下主题:

:help 'whichwrap
:help 'backspace

答案 1 :(得分:9)

将以下内容放入.vimrc:

set whichwrap+=<,>,[,]