我喜欢-<C-M>正常模式键,用于转到上一行/下一行的第一个非空白字符。 /下一行?

#1 楼

g_将光标移动到当前行的最后一个非空白字符。从Vim的:help g_

g_          To the last non-blank character of the line and
            [count - 1] lines downward |inclusive|. {not in Vi}


不幸的是,我认为您唯一要移至上一行/下一行非空白字符的选项分别是kg_jg_或使用计数向下移动。

评论


另请注意,如果要转到下一行的最后一个非空白字符,2g_也将起作用。但是,这不能用于上一行。 2g_的优点是可以用重复。

–EvergreenTree
15年5月17日在13:27

运动(如g_)不可通过。重复。通常,只有更改缓冲区状态的操作才能重复。

–tommcdo
15年5月17日在22:01

但是,当与操作员结合使用时,重复操作是可行的。也许那就是你指的是

–tommcdo
15年5月17日在22:04

啊,我没有意识到动作是不可重复的。我说些什么之前应该先看一下文档。

–EvergreenTree
2015年5月18日,0:13

#2 楼

如果您是指上一行/下一行的下一个非空白字符(垂直移动),请尝试:

map <C-k> :call search('\%' . virtcol('.') . 'v\S', 'bW')<CR>
map <C-j> :call search('\%' . virtcol('.') . 'v\S', 'wW')<CR>