h当我使用光标键(和)跨过选项卡时l,光标不会跳过该选项卡,它只是一次移动一个空格。这很烦人,因为我不确定那里是否有制表符或空格。我期望的是,如果我移动到选项卡上,光标应该位于选项卡的开头(最左边的位置),如果我向右移动一个空格,它应该跳到选项卡后的第一个字符。
我怎样才能实现这种行为?
请注意,我正在使用visualedit=all
.
答案1
我想你的意思virtualedit
是代替visualedit
(它不存在)?
您需要virtualedit
在正常模式下禁用,因为此选项定义了可能的光标位置的选项卡处理;代替all
,一起使用所有其他值:
:set virtualedit=insert,block,onemore
从vim
文档来看,:help 'virtualedit'
:
'virtualedit' 've' string (default "")
A comma separated list of these words:
block Allow virtual editing in Visual block mode.
insert Allow virtual editing in Insert mode.
all Allow virtual editing in all modes.
onemore Allow the cursor to move just past the end of the line
Virtual editing means that the cursor can be positioned where there is
no actual character. This can be halfway into a tab or beyond the end
of the line. Useful for selecting a rectangle in Visual mode and
editing a table.
virtualedit=all
从这个描述来看,除了跳转选项卡部分之外,似乎不可能有。
实现这一点的一种可能方法是重新映射按键h
并l
在正常模式下显式跳过选项卡,并保留virtualedit=all
.