在VIM中,档位A跳得比档位线的末端更远

在VIM中,档位A跳得比档位线的末端更远,vim,Vim,我使用vim编写C代码。当我在一行中行写一些东西,然后尝试使用“代码> shift +a跳转到这行的末尾时,它有时跳得比我想的要远一点。 像这样: 我不知道我的vimrc怎么了。谁能告诉我如何处理它?您可能想这样做,看看是否有一些无法打印的字符: :set list该行后面有空格。这可能会潜入,尤其是Vim中的:set virtualedit=all,或其他(低级:-)编辑器。你可以让Vim用 :set list (可以使用:set invlist list?创建方便的切换映射) 由于这样的麻

我使用vim编写C代码。当我在一行中行写一些东西,然后尝试使用“代码> shift +a<代码>跳转到这行的末尾时,它有时跳得比我想的要远一点。 像这样:


我不知道我的vimrc怎么了。谁能告诉我如何处理它?

您可能想这样做,看看是否有一些无法打印的字符:
:set list

该行后面有空格。这可能会潜入,尤其是Vim中的
:set virtualedit=all
,或其他(低级:-)编辑器。你可以让Vim用

:set list
(可以使用
:set invlist list?
创建方便的切换映射)


由于这样的麻烦,许多人不赞成使用尾随空格。有一些插件将它们显示为错误(例如my),还有一些插件(例如my)将它们删除(甚至在保存时自动删除)。(插件页面有指向其他插件的链接。)

保存文件时,将其放入vimrc中,这将去除每行末尾的空白

autocmd BufWritePre * call RemoveTrailingWhitespace()
function! RemoveTrailingWhitespace()                                                                                                                       
     if &ft != "diff"
         let b:curcol = col(".")
        let b:curline = line(".")
        silent! %s/\s\+$//
         silent! %s/\(\s*\n\)\+\%$//
         call cursor(b:curline, b:curcol)
     endif
endfunction

有尾随空格吗?尾随空格,
virtualedit
。。。你没有展示你的vimrc中有什么:你认为我们将如何告诉你它有什么问题?