Câu trả lời:
Để cài đặt một plugin, chúng ta cần biết nó thuộc dạng nào. Nó có thể là:
.vim
tập tin duy nhấtplugin/*
, syntax/*
, vv) ( Điều gì làm cho một plugin Vundle tương thích và là nhà quản lý plugin nào hoán đổi cho nhau? )Một .vim
tập tin duy nhất được cho là được đặt trong .vim/plugin
thư mục.
Một tập tin Vimball có thể được cài đặt bằng cách mở nó trong Vim và chạy :source %
.
Có thể cài đặt một tập hợp các tệp trong bố cục thư mục tiêu chuẩn bằng cách sao chép chúng vào .vim
hoặc sử dụng trình quản lý gói plugin .
Plugin có thể phụ thuộc vào một số tính năng nhất định. Vì thế:
Đối với hầu hết các plugin, mặc dù, nó có thể không quan trọng.
Tôi thích sử dụng trình quản lý plugin vim-plug .
Vấn đề với việc cài đặt plugin theo cách thủ công là việc gỡ bỏ plugin khá khó khăn ; bạn thường có một vài tệp khác nhau trong các thư mục khác nhau, bạn phải tự tìm chúng & xóa chúng.
Nâng cấp các vấn đề tương tự khó khăn: Điều gì xảy ra nếu autoload/old-name.vim
được đổi tên thành autoload/new-name.vim
? Bây giờ bạn có cả phiên bản cũ và mới của plugin.
vim-plug
giải quyết điều này bằng cách lưu trữ từng plugin trong thư mục riêng của nó; nó cũng bao gồm lệnh để dễ dàng cài đặt / gỡ bỏ một plugin, vì vậy bạn không phải loay hoay với các plugin giải nén và những thứ tương tự.
Một lợi thế chính của vim-plug so với Pathogen là vim-plug cho phép bạn cài đặt và gỡ bỏ các plugin dễ dàng hơn. Tất cả những gì Pathogen làm là cho phép mỗi plugin nằm trong một thư mục chứa riêng.
vim-plug dựa vào git ; đối với MS Windows, bạn muốn msysgit .
Bạn có thể xác định bổ trợ trong vimrc của mình như vậy:
call plug#begin('~/.vim/plugged')
" For MS Windows, this is probably better:
"call plug#begin('~/vimfiles/plugged')
Plug 'embear/vim-localvimrc'
Plug 'kchmck/vim-coffee-script'
" ... etc
call plug#end()
Sau đó khởi động lại Vim và sau đó cài đặt plugin với:
:PlugInstall
Điều này sẽ đưa các plugin vào ~/.vim/plugged
hoặc $HOME\vimfiles\plugged
cho MS Windows.
Bạn có thể thêm
đoạn mã này từ Câu hỏi thường gặp vào tệp vimrc của mình trước plug#begin()
cuộc gọi:
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall
endif
Lưu ý bạn cần curl
cho việc này để làm việc. Điều này hầu như luôn có sẵn trên Linux và OSX, nhưng không có trên MS Windows; vì vậy thủ thuật này sẽ không hoạt động ở đó ...
Để xóa plugin, hãy xóa nó khỏi tệp vimrc và chạy:
:PlugClean
Lưu ý rằng vim-plug không hỗ trợ cài đặt tập lệnh từ trang web tập lệnh Vim, nhưng các tập lệnh đó được nhân đôi trên GitHub , vì vậy không cần phải làm như vậy.
Ngoài ra còn có một số lợi thế bổ sung cho việc này như cập nhật plugin dễ dàng hơn và tải theo yêu cầu để có hiệu suất tốt hơn. Bạn cũng có thể dễ dàng sao chép vimrc của mình sang máy tính khác, chạy :PlugInstall
và có tất cả các plugin.
Lưu ý có nhiều trình quản lý plugin hơn; Tôi tình cờ sử dụng vim-plug
. Xem thêm: Sự khác biệt giữa các trình quản lý gói vim là gì?
Pathogen là một trình quản lý đường dẫn thời gian chạy, tải các plugin trong Vim. Nó làm cho việc cài đặt plugin trở nên đơn giản; Đây là cách nó hoạt động:
lưu ý: Nếu bạn đang sử dụng Windows, hãy thay thế ~/.vim
bằng $HOME\vimfiles
.
Sao chép pathogen.vim
vào ~/.vim/autoload/pathogen.vim
.
Tạo ~/.vim/bundle
thư mục, nếu nó chưa tồn tại.
Thêm dòng sau vào đầu của bạn .vimrc
:
execute pathogen#infect()
Bạn đã hoàn tất! Khi bạn muốn thêm một plugin, chỉ cần sao chép toàn bộ thư mục của plugin vào đó ~/.vim/bundle
hoặc git clone
ở đó. Ví dụ:
cd ~/.vim/bundle
git clone https://github.com/tpope/vim-surround
* Hãy cẩn thận: Nếu plugin của bạn ở dạng .vim
tệp, nó sẽ không hoạt động với Pathogen. Sao chép nó vào ~/.vim/plugin
thay thế (bạn có thể phải tạo thư mục này nếu nó không tồn tại).
git submodule add
(thay vì git clone
) nếu cấu hình vim của bạn đã là một phần của dự án git của riêng bạn.
runtimepath
tùy chọn và đó là tất cả. Nó không đối phó với việc cập nhật, thêm, truy xuất, loại bỏ các plugin.
Phiên bản 8 giới thiệu một cơ chế gói mới thay thế phần lớn nhu cầu cho các trình quản lý plugin hiện có (mầm bệnh, vim-plug, vundle, v.v.) tại thời điểm viết (2017).
Từ tài liệu :
Gói Vim là một thư mục chứa một hoặc nhiều plugin
Một thư mục gói chứa hai thư mục con:
start/
- chứa các plugin sẽ được tải tự độngopt/
- chứa các plugin được tải theo yêu cầu với :packadd
Có vẻ hơi phức tạp, nhưng trong thực tế, tất cả những gì bạn phải làm là thêm plugin của mình vào đây :
↓ package name
~/ .vim / pack / bundle / start / some-plugin
↑ packages dir ↑ plugin dir
Trên Windows : sử dụng ~\vimfiles\pack\
thay vì~/.vim/pack/
Theo quy ước, chúng tôi đã sử dụng tên gói "gói" làm thư mục sẽ chứa tất cả các plugin của chúng tôi. Bạn có thể sử dụng bất kỳ tên nào bạn muốn và thậm chí bạn có thể đặt các plugin của mình vào các thư mục gói riêng nếu bạn thực sự muốn.
mkdir -p ~/.vim/pack/bundle/start
cd ~/.vim/pack/bundle/start
git clone https://github.com/tpope/vim-sensible.git
Trên Windows : sử dụng ~\vimfiles\pack\
thay vì~/.vim/pack/
Lần tới khi bạn khởi động Vim, plugin sẽ tự động tải.
.vim
nằm dưới sự kiểm soát của phiên bản, có thể tốt hơn để cài đặt các plugin có mô hình con của git; xem shapeshed.com/vim-packages/#adding-a-package .
Chúng ta đừng quên Vundle vĩ đại và hùng mạnh !
Vundle là một trình quản lý plugin hoàn chỉnh, với chức năng cho:
:PluginSearch
):PluginInstall
):PluginUpdate
):PluginClean
)Như bạn có thể thấy, nó rất giống với trình quản lý vim-plug được đề cập bởi Carpetsmoker. Tôi không biết cái nào xuất hiện trước, nhưng API của chúng trông rất giống tôi, cũng như quá trình thiết lập .
.vimrc
, vì vậy khi cài đặt trên máy chủ mới, tất cả những gì bạn cần là cài đặt Vundle + .vimrc
để cài đặt mọi thứ. Ngoài ra, bạn có thể nhận xét các plugin của mình và 'dọn dẹp' chúng, nhưng có thể nhận xét lại chúng sau nhiều tháng hoặc nhiều năm sau khi bạn quên tên của chúng từ lâu.
Nhiều khả năng, plugin của bạn sẽ là một tệp .vim.
Nếu đây là trường hợp, tôi đã tìm kiếm sự giúp đỡ và thử nghiệm và tìm ra những điều sau đây. Từ trong vim (chế độ lệnh), gõ:
:set runtimepath
Điều này sẽ cho bạn thấy một loạt các thư mục. Một số thư mục này sẽ có plugin
thư mục con. Đặt bất kỳ tệp .vim nào vào một trong các plugin
thư mục con này sẽ khiến nó tự động được tải khi bạn bắt đầu vim từ bất cứ đâu.
Đối với tôi, trên Ubuntu linux, tôi thấy rằng nó /usr/share/vim/vim74/plugin
hoạt động tốt, để cài đặt cho tất cả người dùng. Bạn có thể cần quyền root để sao chép một tập tin vào đây (tiền tố của bạn cp
hoặc mv
lệnh với sudo
).
vim74
, có nghĩa là phiên bản cụ thể, vì vậy việc nâng cấp lên Vim 8.0, sẽ làm mất plugin đó. Cách chứng minh nâng cấp khác sẽ được sử dụng /etc/vim/
cho điều đó (tạo nó nếu không có và thêm đường dẫn đó vào runtimepath
nếu không có sẵn /etc/vimrc
)
Most likely, your plugin will be a single .vim file
Tôi không đồng ý. Phần lớn các plugin đi kèm với một .txt
tệp chứa tài liệu và bạn cần tạo các thẻ để có được một tài liệu chức năng. Ngoài ra rất nhiều plugin đi kèm với một autoload
thư mục. Tôi nghĩ rằng sử dụng trình quản lý plugin là một giải pháp tốt hơn so với quản lý runtimepath của bạn một cách thủ công
/usr/share/vim/vimXX
là thời gian chạy chứng khoán và không phải là nơi dành cho cấu hình / plugin trang web. Thay vào đó, cấu hình / plugin trang web nên được đặt ở bất kỳ $VIM
điểm nào trên hệ thống đó (xem :h vimfiles
). Thông thường, đây là /usr/share/vim
trường hợp của Ubuntu và giữ các liên kết tượng trưng /etc/vim
. Nói chung, /usr/local/
là vị trí thực tế cho cấu hình trang web bên ngoài trình quản lý gói . Lưu ý rằng Neovim sử dụng $XDG_(CONFIG|DATA)_DIRS
và các site
thư mục, cung cấp các giá trị mặc định bên ngoài tốt hơn cho các cấu hình trang web.
vi
trên bất kỳ hộp hiện đại nào có thể sẽ chỉ khởi chạyvim
với một số tính năng bị tắt. Tôi nghi ngờ nhiều người có quyền truy cập vào Vi thực tế những ngày này.