按键绑定使 End 移动到行末字符之后的一个字符

按键绑定使 End 移动到行末字符之后的一个字符

默认情况下,End 键会将我带到 Vim 中该行的最后一个字符。但是,我set virtualedit=onemore的 vimrc 中有,我实际上希望 End 键将我带到最后一个字符之后的一个字符。

首先我尝试过,map <End> g$但是如果行超出了屏幕的末尾,它只会带我到最后一个可见的字符。

然后我尝试了一下map <End> $<Right>,但是如果该行是空白的,它就会带我到下一行,而不是什么都不做。

有任何想法吗?

答案1

您需要运行一个表达式来检查该行是否包含字符,并采取相应的措施。试试这个:

:noremap <expr> <end> (col('$')>1?"\<lt>end>\<lt>right>":'')

看:

:help :map-<expr>

答案2

你可以尝试一下。

   :map <End> $a<space><ESC>

这将移动到最后一个字符,然后附加一个空格,然后移动到它。

相关内容