TL; DR:
Yêu cầu +python
/ +python3
hỗ trợ cho một plugin phát triển dựa trên python. Điều đó nghe có vẻ hoàn toàn hợp lý.
Về plugin Vim và hành vi của con người
Nói chung, con người nói muốn mọi thứ có vẻ đơn giản và "chỉ hoạt động". Khi nói đến các plugin Vim, Vimmer thường muốn các plugin không có hoặc có rất ít phụ thuộc. Về cơ bản nó phải đơn giản như một git clone
và / hoặc một vài dòng trong vimrc
tệp của họ . Càng nhiều plugin yêu cầu phải được cấu hình để hoạt động ban đầu hoặc yêu cầu một số phụ thuộc chỉ là thêm một rào cản để nhập.
Một ví dụ tuyệt vời về hành vi này là CommandT vs CtrlP :
- CommandT sử dụng Ruby và C để thực hiện tìm kiếm mờ
- Mặt khác, CtrlP là VimL / Vimscript thuần túy
- CommandT thường nhanh hơn vanilla CtrlP
Bây giờ bạn sẽ cho rằng CommandT trở nên phổ biến hơn, đặc biệt là khi nó xuất hiện đầu tiên, nhưng đó không phải là trường hợp. CommandT có khoảng 2000 người dùng và CtrlP có khoảng 20.000 người dùng . Theo tôi, yêu cầu của CommandT gây ra rào cản gia nhập. Bạn chỉ đơn giản là không thể git clone
dotfiles vim của bạn và có thể chạy và chạy trên một máy mới với CommandT như bạn có thể với CtrlP.
Điểm truy cập:
Đó là C + Ruby không +python
/ +python3
. Có hỗ trợ cho Python. Bạn hoàn toàn chính xác. Một ví dụ chứng minh điểm này sẽ là Gundo (~ 5.000) sử dụng +python
so với undotree (~ 1.000) là VimL thuần túy. Tôi sẽ lập luận, theo ý kiến cá nhân của tôi, rằng unotree ít được biết đến hơn so với Gundo (lần đầu tiên đưa ra thị trường) và thực tế là nhiều người đang sử dụng undotree rất có thể phải làm với nó là VimL vs python thuần túy.
Đủ tốt cho tôi, tôi sẽ chỉ sử dụng Python cho plugin Vim của mình!
Vào cuối ngày, bạn phải biết khá nhiều về Vim và một số VimL để làm plugin Vim trong Python. Các vim
mô-đun là tốt hơn nhiều so với trước, nhưng vẫn đòi hỏi một số tiền hợp lý của VimL eval giống như tình huống:
vim.command("set tw=72")
vim.command("%s/aaa/bbb/g")
text_width = vim.eval("&tw")
Xem :h python-vim
.
Bạn cũng sẽ cần VimL để "bootstrap" phần python của plugin. Vì vậy, không có VimL thoát, chỉ cần giảm số lượng.
Kết luận
Nếu bạn có nhu cầu +python
/ +python3
thì chắc chắn sử dụng nó. Có vẻ như bạn có một trường hợp sử dụng tuyệt vời để hỗ trợ python. Tuy nhiên theo tôi, bạn sẽ không hoàn toàn thoát khỏi VimL / Vimscript. Tôi khuyên bạn nên thực hiện những điều Vim trong VimL và sử dụng python cho những việc khó / khó / chậm trong VimL.