Hôm nay, tôi thấy tôi .vimrc
không có hiệu lực. Nó đã ổn chỉ vài giờ trước.
Khi tôi khởi chạy vim với $vim --plugin
, :scriptnames
không có gì lặp lại: .vimrc
tập tin không có nguồn gốc. (Lưu ý: /etc/vimrc
đã bị xóa để gỡ lỗi sự cố này.)
Sau đó, tôi đã cố gắng để google và tìm thấy $VIMINIT
biến đáng ngờ.
Đây là giá trị của $VIMINIT
:
$ echo $VIMINIT
set number
Tài liệu Vim về VIMINIT
:
c. Four places are searched for initializations. The first that exists
is used, the others are ignored. The $MYVIMRC environment variable is
set to the file that was first found, unless $MYVIMRC was already set.
- The environment variable VIMINIT (see also |compatible-default|) (*)
The value of $VIMINIT is used as an Ex command line.
- The user vimrc file(s):
"$HOME/.vimrc" (for Unix and OS/2) (*)
"s:.vimrc" (for Amiga) (*)
"home:.vimrc" (for Amiga) (*)
"$VIM/.vimrc" (for OS/2 and Amiga) (*)
"$HOME/_vimrc" (for MS-DOS and Win32) (*)
"$VIM/_vimrc" (for MS-DOS and Win32) (*)
Note: For Unix, OS/2 and Amiga, when ".vimrc" does not exist,
"_vimrc" is also tried, in case an MS-DOS compatible file
system is used. For MS-DOS and Win32 ".vimrc" is checked
after "_vimrc", in case long file names are used.
Note: For MS-DOS and Win32, "$HOME" is checked first. If no
"_vimrc" or ".vimrc" is found there, "$VIM" is tried.
See |$VIM| for when $VIM is not set.
- The environment variable EXINIT.
The value of $EXINIT is used as an Ex command line.
- The user exrc file(s). Same as for the user vimrc file, but with
"vimrc" replaced by "exrc". But only one of ".exrc" and "_exrc" is
used, depending on the system. And without the (*)!
Tôi không thể hiểu tài liệu vim đầy đủ. Có vẻ như $VIMINIT
có thể gây rối cho việc khởi động của vim.
Xóa $VIMINIT
:
$ VIMINIT=
$ echo $VIMINIT
Vấn đề vẫn còn tồn tại.
$VIMINIT
đã có tiền lệ hơn bất kỳ.vimrc
tập tin. Và nó đáp ứng quy tắc đến trước được phục vụ trước. Vì vậy, có.vimrc
được bỏ qua.