Tạm thời vô hiệu hóa một số plugin sử dụng mầm bệnh trong vim.


96

Tôi nghĩ rằng tôi có một lỗi trong một plugin. Tôi chỉ muốn tải plugin này mà không phải xóa tất cả các gói khác trong thư mục gói mầm bệnh của mình, để gỡ lỗi.

Nó có khả thi không?

Câu trả lời:


129

Phương pháp dễ nhất để vô hiệu hóa một plugin khi bạn sử dụng Mầm bệnh là thêm tên gói của nó vào biến g: disease_disabled, trước khi bắt đầu tác nhân gây bệnh.

Vì vậy, một ví dụ từ vimrc của riêng tôi

" To disable a plugin, add it's bundle name to the following list
let g:pathogen_disabled = []

" for some reason the csscolor plugin is very slow when run on the terminal
" but not in GVim, so disable it if no GUI is running
if !has('gui_running')
    call add(g:pathogen_disabled, 'csscolor')
endif

" Gundo requires at least vim 7.3
if v:version < '703' || !has('python')
    call add(g:pathogen_disabled, 'gundo')
endif

if v:version < '702'
    call add(g:pathogen_disabled, 'autocomplpop')
    call add(g:pathogen_disabled, 'fuzzyfinder')
    call add(g:pathogen_disabled, 'l9')
endif

call pathogen#infect()

Cập nhật : Một phương pháp khác, được hỗ trợ bởi Pathogen, là chỉ cần đổi tên thư mục cho gói mà bạn muốn vô hiệu hóa để nó kết thúc bằng dấu ngã (~). Vì vậy, để vô hiệu hóa autocomplpopgói, chỉ cần đổi tên nó thành autocomplpop~.


1
Chiến lược dấu ngã dường như không hoạt động bây giờ (kể từ phiên bản 2.3).
echristopherson

6
@echristopherson Điều này sẽ trở lại mầm bệnh ngay bây giờ, ít nhất là trên nhánh nhà phát triển.
FDinoff

8
Khi 2.4nó trở thành g:pathogen_blacklistthay thế.
Yuri Ghensev

36

vim -u NONE -Nsẽ tải vim mà không cần plugin, không có cài đặt nào từ .vimrc của bạn. Sau đó, bạn có thể :source /path/to/plugin/you-want.vimbên trong vim để tải một plugin mà bạn muốn tải.


+1. manh nha, đây là một lời khuyên tuyệt vời. Nhưng tôi tin rằng cách tiếp cận của @Herbert phù hợp hơn với tình huống của tôi, vì tôi có rất nhiều ftplugin và như vậy. Cảm ơn bạn đã trả lời, giải pháp của bạn là goign được sử dụng trong các hộp mà tôi không thể cài đặt mầm bệnh.
Ai đó vẫn sử dụng bạn MS-DOS

Bạn cũng có thể bắt đầu vim dưới dạng vim -u NONE -Nvà sau đó khi bên trong vim, hãy thực hiện :filetype plugin onđể kích hoạt các plugin loại tệp.
frabjous

9

vim --noplugin

Trong trường hợp này, vim sẽ không tải bất kỳ plugin nào nhưng vimrc của bạn sẽ được sử dụng.

Sau khi bạn có thể tải plugin của mình trong vim:

: nguồn 'đường dẫn plugin của bạn'


3

Tại sao không chỉ:

  1. đổi tên thư mục gói hiện tại
  2. tạo một thư mục gói trống mới
  3. đặt các tệp plugin thử nghiệm của bạn vào dir gói mới?

Khi hoàn thành đặt mọi thứ trở lại như cũ. (Phương pháp được đề xuất để tải Vim mà không cần plugin và tìm nguồn cung cấp tệp plugin sẽ hoạt động nếu đó là một plugin một tệp đơn giản, nhưng nếu bạn đang thực hiện ftplugin thì việc di chuyển dirs xung quanh có lẽ là cách tốt nhất và không khó lắm.)


+1. Đơn giản và hiệu quả, chỉ cần di chuyển tất cả các thư mục vào một thư mục tạm thời.
Ai đó vẫn sử dụng bạn MS-DOS

2

Bạn có thể đổi tên plugin cụ thể bằng cách đặt dấu ngã ~ sau tên ban đầu của nó. Mọi thư mục plugin trong gói có dấu ngã ~ ở cuối sẽ không được tải bởi mầm bệnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.