代码: 全选
fun Fun()
echo col(".")
endfun
inoremap <F5> <C-O>:call Fun()<CR>
原因在于 <C-O> 进入普通模式是光标禁止超越行尾。插入模式按 <C-O><Esc>,能正确恢复光标位置,所以显然 vim 是存储了该信息的。我的问题就是如何得到该信息,以知道 <C-O> 之前光标是在行尾字符之后还是之前。
代码: 全选
fun Fun()
echo col(".")
endfun
inoremap <F5> <C-O>:call Fun()<CR>
代码: 全选
inoremap <F5> <C-\><C-O>:call Fun()<CR>