Linux中國

修復 Debian 中的 vim 奇怪行為

原因是,當沒有 ~/.vimrc 的時候,vim 在 vimrc.local 之後載入 defaults.vim,從而覆蓋了幾個設置。

/etc/vim/vimrc 中有一個注釋(雖然我沒有看到)解釋了這一點:

" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
" This happens after /etc/vim/vimrc(.local) are loaded, so it will override
" any settings in these files.
" If you don't want that to happen, uncomment the below line to prevent
" defaults.vim from being loaded.
" let g:skip_defaults_vim = 1

我同意這是在正常安裝 vim 後設置 vim 的好方法,但 Debian 包可以做得更好。在錯誤報告中清楚地說明了這個問題:如果沒有 ~/.vimrc/etc/vim/vimrc.local 中的設置被覆蓋。

這在Debian中是違反直覺的 - 而且我也不知道其他包中是否採用類似的方法。

由於 defaults.vim 中的設置非常合理,所以我希望使用它,但只修改了一些我不同意的項目,比如滑鼠。最後,我在 /etc/vim/vimrc.local 中做了以下操作:

if filereadable("/usr/share/vim/vim80/defaults.vim")
  source /usr/share/vim/vim80/defaults.vim
endif
" now set the line that the defaults file is not reloaded afterwards!
let g:skip_defaults_vim = 1

" turn of mouse
set mouse=
" other override settings go here

可能有更好的方式來獲得一個不依賴於 vim 版本的通用載入語句, 但現在我對此很滿意。

via: https://www.preining.info/blog/2017/10/fixing-vim-in-debian/

作者:Norbert Preining 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國