簡體   English   中英

_vimrc 他的主目錄覆蓋 $VIM 中的 _vimrc

[英]_vimrc him home directory overrides _vimrc in $VIM

在 Linux 上,當我創建一個~/.vimrc文件時,它會擴展系統設置,因為它運行我的~/.vimrc文件中的命令而不更改我的文件中沒有的任何設置。

在 Windows 上, %HOMEPATH%\_vimrc文件似乎覆蓋了其他設置文件,因為即使添加空白文件也會完全改變 vim 的行為。

這是 Windows 的預期行為嗎? 如果我想擴展其他設置文件,是否需要將它們復制到我的主目錄中?

這就是 Vim 的工作方式:如果你沒有vimrc ,它會加載$VIMRUNTIME/defaults.vim 如果你有那么它沒有。

您在 Linux 上遇到了什么問題,您應該更清楚。 也許是系統的/etc/vimrc ,也許是 Neovim 等。

如果您想從defaults.vim添加設置,只需執行runtime defaults.vim

Vim 版本 8 及更高版本(這可能是您正在使用的)附帶一個defaults.vim文件,該文件在找不到用戶 vimrc 文件時使用。 defaults.vim文件啟用文件類型檢測和語法突出顯示,以及被認為對所有或大多數 Vim 用戶有用的其他設置。 有關詳細信息,請參閱:help defaults.vim

所以這就是您在 Windows 上看到的內容,您在其中安裝了 Vim package 從官方網站獲得默認的 Z944037673FD3 行為。 為了向后兼容, defaults.vim行為僅在您根本沒有用戶 vimrc 文件 ( %HOMEPATH%\_vimrc ) 或明確包含它時才會發生。

建議在啟動新的 vimtex 文件時顯式加載它,頂部有兩行:

unlet! skip_defaults_vim
source $VIMRUNTIME/defaults.vim

The reason why you might not see this on Linux is that some Linux distributions (namely Debian, possibly Ubuntu which inherits many Debian packages) decided they didn't like the defaults.vim behavior, particularly the part of it not getting enabled if the user vimrc 文件存在。 (這是可以理解的,當您創建一個空的 vimrc 文件並且 Vim 突然表現不同並且很多東西被禁用時,您已經看到了它帶來的混亂!)

因此,他們發布了一個系統 vimrc 文件/etc/vimrc來完成許多defaults.vim文件所做的事情(例如啟用文件類型檢測和語法突出顯示),然后完全禁用defaults.vim行為(通過設置skip_defaults_vim變量。)因此,在這些發行版中,您不會獲得defaults.vim行為,除非您明確包含它(並且僅當您首先解除禁用它的變量時。)另一方面,您總是從系統 vimrc 文件中獲得類似或等效的設置由配送配送。

我的建議是在 vimrc 文件中啟用defaults.vim行為,該行為適用於所有平台和所有 Linux 發行版。 它還包括一些有用的設置,這些設置在 Linux 發行版的/etc/vimrc中不存在,這些設置會禁用defaults.vim 。vim 行為,因此它在那里也可能有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM