如何检查光标是否在行尾?

Edu*_*cio 5 vim gvim macvim vimrc vim-plugins

绅士,

关于 Vim 的简单问题!

如何使用vimrc中的函数检查光标是否位于行尾?

[] 的

gar*_*ohn 9

您不需要函数来确定这一点,但如果需要,您可以将以下测试包装在一个函数中。这将取决于您要尝试做什么以及您需要从该功能中获得什么。

col()函数返回其参数的列。一行的最后一列是col("$")-1,游标列是col("."),所以

echo col(".") == col("$")-1
Run Code Online (Sandbox Code Playgroud)

1在光标位于最后一列时回显,0否则将回显。

看:

:help col()
Run Code Online (Sandbox Code Playgroud)

  • 有一个边缘情况需要考虑:在空行上,`col(".")` 返回 `1`,`col("$")` 也返回 `1`。所以你可能想要检查 `col(".") >= col("$") - 1`。 (4认同)