2013-08-15 16 views
15

Có người đã chỉ cho tôi cách thực hiện điều này trước đây nhưng tôi không thể hiểu được nó là gì.Dán một số lượng lớn văn bản vào vim là chậm?

Tôi biết về :set paste nhưng đây không phải là vấn đề.

+0

Có thể vấn đề là Vim cố gắng vẽ lại màn hình trong khi bạn dán. Có thể có một cách để tạm thời vô hiệu hóa việc cập nhật màn hình. –

+2

@ RoryO'Kane có thể 'đặt lazyredraw'? – FDinoff

+0

@FDinoff 'lazyredraw' ảnh hưởng đến macro và lệnh, không phải văn bản đã nhập. –

Trả lời

31

Sử dụng "*p hoặc "*P để dán từ khay nhớ tạm thời hệ thống ngay lập tức.

Vim phải được biên dịch với +clipboard để làm việc này.

Xem :help clipboard để biết thêm thông tin.

+1

Nếu thanh ghi ''*' không hoạt động, bạn cũng có thể thử ['" + '] (http://vimdoc.sourceforge.net/htmldoc/gui_x11 .html # quote +) Dán từ đó bằng '" + p'. –

+0

Rất ít mẹo nhỏ hữu ích, cảm ơn! –

+0

cách tôi sẽ biên dịch vim bằng + clipboard? – HMagdy

1

Trong kinh nghiệm của tôi :set syntax=off giúp trước khi dán, xem https://askubuntu.com/a/223061/240577 Tôi đã nhìn thấy hành vi 'chậm'/sử dụng cpu cao với vim/gvim/mvim trên osx, ubuntu, redhat và windows khi dán khối lớn nội dung và làm nổi bật cú pháp trên.

7

Đây là vấn đề về đệm đĩa đệm. Vim cố gắng giữ cho công việc của bạn an toàn và không cho rằng bạn có thể nhập vài nghìn ký tự mỗi giây. Đọc :help swap-file để biết một số chi tiết về bộ đệm. Giải pháp cho vấn đề của bạn là thế này:

Tắt swapfile vim của một trong hai với:

vim -n <your file> 

hoặc từ bên trong vim trước khi dán:

:set noswapfile 

Xem :help swapfile để biết thêm chi tiết.

Một tùy chọn khác là chỉ cần tắt đồng bộ hóa với đĩa của tệp hoán đổi với :set swapsync= nhưng tùy chọn này cần nhiều lần nhấn phím hơn để hoàn tác và tôi lười. :)

Tắt hoán đổi không an toàn cho hoạt động bình thường! Ngay sau khi dán, hoặc sử dụng :set swapfile hoặc :set swapsync=fsync để quay trở lại hành vi bình thường (mặc dù về mặt kỹ thuật, hành vi bình thường có thể được đồng bộ hóa và không fsync, kiểm tra với :set swapsync? trước nếu bạn muốn đi tuyến đường này).

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