0

vim を使用して C コードを記述します。行の途中に何かを書き、 を使用してこの行の最後にジャンプしようとすると、意図しShift+Aたよりも少し先にジャンプすることがあります。このような:ここに画像の説明を入力

.vimrc のどこが悪いのかわかりません。対処法を誰が教えてくれますか?

4

3 に答える 3

1

その行には末尾の空白があります。これは、特に:set virtualedit=allVim で、または他の (劣った :-) エディターで忍び込む可能性があります。Vimにこれらを表示させることができます

:set list

(便利なトグル マッピングは で作成できます:set invlist list?)

このような問題のために、多くの人は末尾の空白に眉をひそめます。それらをエラーとして表示するプラグイン (たとえば、私のShowTrailingWhitespace プラグイン) と、それらを削除するプラグイン(私のDeleteTrailingWhitespace プラグインなど) があります (保存時に自動的に)。(プラグイン ページには、代替プラグインへのリンクがあります。)

于 2013-11-04T08:16:36.510 に答える
0

印刷できない文字があるかどうかを確認するには、次のようにします。 :set list

于 2013-11-04T07:38:48.937 に答える
0

ファイルを保存するときにこれを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
于 2013-11-04T10:44:21.810 に答える