2010-11-15 23 views
32

Tôi sử dụng tác nhân gây bệnh và có tập lệnh cập nhật tải xuống phiên bản mới nhất của tất cả các plugin vim mà tôi sử dụng từ vim.org, github hoặc bất kỳ nơi nào khác có thể. Tuy nhiên, tập lệnh này hiện không cập nhật thẻ trợ giúp vim. Để làm như vậy, tôi phải đi đến từng plugin cập nhật trong vim và thực hiện ": helptags doc /". Nó sẽ là tuyệt vời nếu tôi có thể làm như vậy với kịch bản cập nhật của tôi, nhưng để làm như vậy tôi cần phải chạy vim ": helptags" lệnh từ một kịch bản. Điều này có thể không?Tạo hình chữ Vim

Cảm ơn!

Trả lời

21

Không phải tất cả tài liệu đều nằm trong cùng một thư mục doc? Có thể .vim/doc,/usr/share/vim/vimfiles/doc?

Trong mọi trường hợp, bạn có thể khởi chạy vim, và chỉ đạo nó để chạy một lệnh:

cd <plugindir> 
vim -c "helptags doc/" 

Bạn có thể chỉ định nhiều lệnh, vì vậy người cuối cùng có thể -c q có lối ra vim khi bạn thực hiện xong . (Hoặc bạn có thể tack nó trên như một lệnh, command1 | q.) Hoặc, nếu bạn có nhiều lệnh để chạy, bạn có thể tạo ra một kịch bản, và có vim chạy nó bằng cách sử dụng vim -S <script>; một lần nữa, bạn có thể thực hiện lệnh cuối cùng của tập lệnh q để nó đóng khi hoàn thành.

+0

Đó là những gì tôi đang tìm kiếm. Tôi đã hy vọng có một cách sạch hơn so với -c "... | q", bởi vì vim rên rỉ và phàn nàn về việc được gọi khi stdout không phải là một thiết bị đầu cuối, nhưng tôi đã sửa nó với một chút "2>/dev/null ". Cảm ơn! – So8res

+0

Bạn cũng có thể tack vào '-u NONE' để giữ vim không thực hiện bất kỳ khởi tạo nào như tìm nguồn cung cấp vimrcs, nếu bạn bị ám ảnh (hoặc nếu vimrc của bạn thực sự chậm). – Cascabel

+3

Vấn đề ở đây là [pathogen] (https://github.com/tpope/vim-pathogen) giữ mỗi plugin trong một thư mục khác bên trong một thư mục chung ('bundle /' theo mặc định), do đó, đi vào từng bó/name-of-the-plugin/doc' gây phiền toái. Câu trả lời của Chris dưới đây là câu trả lời thích hợp. –

68

pathogen.vim phiên bản sau 1.2 (2010-01-17) có chức năng pathogen#helptags sẽ tự động cập nhật thẻ trợ giúp cho từng thư mục trong runtimepath. Chỉ cần gọi cho nó sau khi bạn gọi pathogen#runtime_append_all_bundles:

call pathogen#runtime_append_all_bundles() 
call pathogen#helptags() 

Hoặc, giả sử bạn có call pathogen#runtime_append_all_bundles() trong .vimrc của bạn:

vim -c 'call pathogen#helptags()|q' 

từ dòng lệnh chỉ một lần sau khi bạn đã lấy các bản cập nhật.


các phiên bản gần đây của mầm bệnh đề nghị gọi pathogen#infect() trong .vimrc của bạn thay vì pathogen#runtime_append_all_bundles (kể từ b147125 “Add mầm bệnh lây nhiễm #() là điểm vào chính cho các thiết lập cơ bản”, 2011/05/13; các cuộc gọi cựu sau này trong nội bộ). Nếu số điện thoại .vimrc của bạn đang gọi số pathogen#infect(), thì hãy gọi điện đến số pathogen#helptags() sau đó.

+0

Đảm bảo bạn có thẻ trợ giúp cuộc gọi sau khi thêm tất cả các gói. –

+3

'call pathogen # infection()' được sử dụng thay thế 'call pathogen # runtime_append_all_bundles()'. Chỉ có trường hợp người khác vấp ngã ở đây. –

+6

Trong của bạn .vimrc 'thực hiện mầm bệnh # nhiễm(); thực thi mầm bệnh # helptags()' – mmell

Các vấn đề liên quan