2012-02-18 31 views
10

Nếu tôi mở một tệp có chứa 5.000 dòng mã và tiếp tục nhập, tôi thấy rằng vim của tôi trở nên rất chậm, nó hiển thị đầu vào của tôi sau khoảng 1 giây.Phản hồi Vim khá chậm

Nó thậm chí sẽ không trở nên tốt hơn sau khi tôi bắt đầu với --noplugin. Nhưng sau khi chuyển đổi tập tin .vimrc của tôi, mọi thứ trở nên tốt đẹp trở lại. Các tập tin .vimrc được viết bởi bản thân mình và sau khi kiểm tra một thời gian, tôi vẫn không thể xác định được lỗi. Tôi đã xóa tất cả các bản đồ chính, nhưng vấn đề vẫn tồn tại.

Vì vậy, bạn có thể đưa ra bất kỳ lời khuyên nào hoặc cho tôi biết cách gỡ lỗi trong vim không? Tôi tìm thấy có một tùy chọn gỡ lỗi nhưng không thể có được cách làm việc.

+0

Janus được sử dụng bởi bất kỳ cơ hội nào? Nếu có vẻ như đó là một vấn đề phổ biến.Nếu xou không phụ thuộc vào fugitive, vô hiệu hóa nó. https://github.com/carlhuda/janus/issues/396 – three

+0

Cảm ơn ba. Tôi không biết phiên bản của vim bây giờ. Nhưng có vẻ như nó không phải do vim gây ra, nhưng kịch bản được viết bởi tôi có một số vấn đề. –

+1

Loại tệp là gì? Đó có phải là XML không? Bạn đã thử ': syn off' chưa? – Benoit

Trả lời

12

Bạn có thể sử dụng tùy chọn --startuptime khi bắt đầu vim:

--startuptime {fname}     *--startuptime* 
     During startup write timing messages to the file {fname}. 
     This can be used to find out where time is spent while loading 
     your .vimrc, plugins and opening the first file. 
     When {fname} already exists new messages are appended. 
     (Only available when compiled with the |+startuptime| 
     feature). 

Hãy theo các bước để chẩn đoán các vấn đề:

  • loại vim --startuptime log.txt main.java trong bash để bắt đầu vim
  • loại :tabe log.txt trong vim để xem nhật ký.
+2

Xin chào kav. Vim của tôi không chậm khi khởi động. –

+0

@ user674199 Tôi đã cập nhật câu trả lời. – kev

+0

oK, tôi sẽ thử. Cảm ơn bạn kev. –

7

Điều gì đó như thế này thường do màu cú pháp gây ra. Hãy thử với :syntax off.

+0

Nó không nên hiển thị bất kỳ vấn đề nào trên các tệp có kích thước (~ 5000 dòng), của tôi lớn hơn đáng kể và vẫn không bị chậm lại. Nếu đó là 500000 dòng, có thể ... – Rook

+0

Đó không phải là vấn đề cú pháp. Tôi đã thay đổi thành vimrc của người khác và cú pháp được bật. Nó hoạt động fine.thanks. –

+1

Khi tôi tắt cú pháp, vấn đề được giải quyết. Nhưng nó cũng sẽ tăng tốc khi tôi thay đổi tập tin vimrc. Tôi đã tham khảo cùng cú pháp trong hai tệp vimrc này. –

11

Lý do chậm lại thường không được đặt hoặc đặt sai ruby_path trên thời gian biên dịch của vim (see also discussion on google vim/ruby google group). Nó dễ dàng hơn để thiết lập nó trong vimrc, bởi vì bạn có thể thay đổi nó mà không cần biên dịch lại vim. Bạn có thể đặt đường dẫn qua biến số g: ruby_path trong tệp .vimrc của bạn. Không sao chép và dán cả hai, sử dụng đúng.

Nếu bạn thiết lập RBENV bạn phải sử dụng cái này:

" ruby path if you are using rbenv 
let g:ruby_path = system('echo $HOME/.rbenv/shims') 

Nếu bạn thiết lập RVM bạn phải sử dụng cái này:

" ruby path if you are using RVM 
let g:ruby_path = system('rvm current') 

Bạn cũng có thể sử dụng plugin vim-rbenv, đặt con đường quá.

Đối với tôi, phần tải các chức năng cụ thể của ruby ​​trong vim nhanh gấp 10 lần.

Nếu bạn đang sử dụng jruby, hơn khởi động chậm có thể còn lớn hơn. Xem các ví dụ để sửa chữa nó .

+0

Thật vậy, buộc một đường dẫn ruby ​​thông qua phương pháp này cải thiện đáng kể tốc độ khởi động của vim. Cảm ơn bạn! – agarie

5

Nếu chạy vim 7.4,

đặt này trong vimrc của bạn

bộ regexpengine = 1

vim 7.4 có một động cơ regex mới có vẻ không phải để làm việc tốt trong một số tình huống. Phiên bản trước vim 7.3 đã sử dụng động cơ cũ (set regexpengine = 1).

Phản hồi "chậm" từ vấn đề tô sáng cú pháp cũng ảnh hưởng đến tệp trợ giúp vim (và tệp .vimrc).

+0

Cảm ơn một tấn này đã làm các trick – robert

+0

': thiết lập regexpengine = 1' - Đây là một tuyệt vời thấy rằng * không có chuyên gia khác * đề cập. Tôi đã có một số cải tiến (nhưng không đầy đủ) sau sự thay đổi này. Một lý do khác cho sự chậm lại của tôi là ': set relativenumber' đang gây ra rất nhiều màn hình vẽ lại hiệu quả cho thấy sự chậm lại. –

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