自动转到vim的下一行

jne*_*ney 28 vim

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

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

Bil*_*dom 28

您可以使用该whichwrap设置制作hl包围各行的开头和结尾:

set whichwrap+=h,l
Run Code Online (Sandbox Code Playgroud)

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

作为替代方案,您可以做Matti Virkkunen推荐的内容:

set whichwrap+=<,>,[,]
Run Code Online (Sandbox Code Playgroud)

这使得hl他们的默认行为,但允许左,右箭头键环绕线.(这就是我的工作,而且效果很好.)

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

set backspace=indent,eol,start
Run Code Online (Sandbox Code Playgroud)

这让我可以对几乎所有内容进行退格.

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

:help 'whichwrap
:help 'backspace
Run Code Online (Sandbox Code Playgroud)


Mat*_*nen 9

将以下内容放入.vimrc:

set whichwrap+=<,>,[,]
Run Code Online (Sandbox Code Playgroud)