mở Vim với plugins tàn tật và gõ :set rtp
- nhận thấy rằng:
- nếu bạn đang ở trên Unix, sau đó theo mặc định: người đầu tiên đi
~/.vim
và người cuối cùng đi ~/.vim/after
;
- nếu bạn đang sử dụng Windows, theo mặc định: bước đầu tiên là
~/vimfiles
và lần cuối cùng đi ~/vimfiles/after
.
Đây là loại quy ước Vim. after
thư mục được sử dụng để ép buộc mạnh mẽ cài đặt mặc định của Vim hoặc cài đặt plugin, đôi khi rất quan trọng. Đó là lý do tại sao họ là người cuối cùng trong số rtp
.
Tác nhân gây bệnh thực sự phân tích cú pháp cấu trúc của biến số rtp
hiện tại của bạn và sử dụng biến này để chèn đường dẫn plugin vào đúng số rtp
. Ví dụ: hãy xem số điện thoại rtp
:
runtimepath=
~/.vim,
~\.vim\plugins\NERDCommenter,
~\.vim\plugins\NERDTree,
~\.vim\plugins\SameSyntaxMotion,
~\.vim\plugins\Tabular,
~\.vim\plugins\UltiSnips,
~\.vim\plugins\c.vim,
~\.vim\plugins\clang_complete,
~\.vim\plugins\CountJump,
~\.vim\plugins\delimitMate,
~\.vim\plugins\fswitch,
~\.vim\plugins\matchit,
~\.vim\plugins\matlab,
~\.vim\plugins\neocomplcache,
~\.vim\plugins\protodef,
~\.vim\plugins\python-syntax,
~\.vim\plugins\solarized,
~\.vim\plugins\syntastic,
~\.vim\plugins\vim-creole,
~\.vim\plugins\vim-latex,
~\.vim\plugins\vim-markdown,
~\.vim\plugins\vim-python-pep8-indent,
~/vimfiles,
D:\Applications\Vim/vimfiles,
D:\Applications\Vim,
D:\Applications\Vim/vimfiles/after,
~/vimfiles/after,
~\.vim\plugins\Tabular\after,
~\.vim\plugins\UltiSnips\after,
~\.vim\plugins\vim-markdown\after,
~/.vim/after
Chú ý cách thức đường dẫn được tiêm mầm bệnh. Nó đã phát hiện ra rằng một số bổ sung có thư mục after
và đặt chúng ngay trước ~/.vim/after
- để từ cuối cùng luôn là của tôi.
Để đạt được mầm bệnh này cần một cặp hoặc ~/.vim
và ~/.vim/after
hoặc ~/vimfiles
và ~/vimfiles/after
hoặc thậm chí ~/stuff
và ~/stuff/after
(không chắc chắn về các trường hợp cuối cùng mặc dù) như neo để tiêm đường plugins' theo thứ tự đúng.
Nếu bất kỳ thư mục nào của cặp này bị thiếu, bạn sẽ có một số kinh nghiệm khó chịu với tác nhân gây bệnh (như tôi đã làm trước đây, cho đến khi tôi phát hiện ra tất cả các công cụ nói trên và lướt qua mã nguồn mầm bệnh) có thể tiêm một cách chính xác.
Bây giờ bạn có thể thấy rằng các câu trả lời được cung cấp bởi Prince Goulash
là hoàn toàn sai :
- sai lầm đầu tiên là ông đã nối
~/.vim
để rtp
trong khi ông cần phải có thêm vào phía trước nó;
- lỗi thứ hai là anh ta không thêm
~/.vim/after
.
Giải pháp đúng như sau. Nếu bạn phải làm việc trên các nền tảng khác nhau bao gồm Windows bạn chứ không phải nên thêm này vào bạn .vimrc
(Tôi ghi nhớ điều này tôi cũng - bạn có thể suy ra nó từ rtp
ví dụ của tôi):
if has('win32') || has('win64')
set runtimepath^=~/.vim
set runtimepath+=~/.vim/after
endif
đoạn này sẽ đảm bảo tính nhất quán trên nền tảng. Bây giờ bạn có thể sử dụng thư mục giống Unix giống như .vim
ngay cả trong Windows và quên đi các lỗi vimfiles
- đó là IMO xấu xí và khủng khiếp.
Sau đó bạn gọi:
call pathogen#infect('plugins') " or wherever your plugins reside
call pathogen#helptags() " optional, but really cool
LƯU Ý:'plugins'
biểu thị thư mục ~/.vim/plugins
, vì vậy nó là tương đối của ~/.vim
.
BTW, cú pháp ': set' của bạn sai. Không có khoảng trống xung quanh '=', và thả '?'; nó là để hiển thị giá trị hiện tại. –