2012-11-10 25 views
9

Tôi đang sử dụng vim bên trong gnome-terminal trong Ubuntu 12.04 và cũng trong thiết bị đầu cuối của MacOS. Tôi sử dụng plugin ack.vim để thực hiện tìm kiếm văn bản rộng cho dự án và hoạt động tốt nhưng có lỗi khó chịu và mất tập trung:Ack trong thiết bị đầu cuối vim đang nhấp nháy đầu ra của nó trước khi trình bày kết quả tìm kiếm. Làm thế nào để ngăn chặn nó?

Khi bạn thực hiện tìm kiếm, toàn bộ màn hình quay trở lại đầu cuối và hiển thị đầu ra của ack chạy. Khi nó ngừng chạy, màn hình quay lại vim và kết quả tìm kiếm được hiển thị chính xác. Ngoài ra, khi bạn thoát khỏi vim, tất cả đầu ra của ack sẽ có trong terminal.

Tôi biết vấn đề này https://github.com/mileszs/ack.vim/issues/18 nhưng tôi muốn đăng nó ở đây để xem tôi có thể có ý tưởng về cách khắc phục sự cố không.

Trong ack.vim tôi có thể thấy dòng silent execute a:cmd . " " . l:grepargs mà tôi nghĩ là nơi lệnh ack thực sự đang được chạy. Lựa chọn im lặng đã ở đó, đó là như xa như vim-fu của tôi đưa tôi. : S

Bất kỳ ai cũng có ý tưởng về cách sửa lỗi này?

Trả lời

6

Đây là vấn đề về cách hoạt động của lệnh vim riêng :grep*, chứ không phải vấn đề là ack.vim. Bạn không thể ngăn chặn bằng cách sử dụng thiết bị đầu cuối, nhưng thiết shellpipe->, &> hoặc 2>/dev/null> sẽ ngăn chặn lệnh từ nhân đôi sản lượng cho thiết bị đầu cuối (theo mặc định tùy chọn này là 2>&1|tee&> hoặc 2>&1> giá trị là gần nhất với những gì đang được thực hiện).

+0

Đặt vỏ mở thành &> đã hoạt động. Hãy xem https://github.com/mileszs/ack.vim/issues/18 để xem cách tôi tích hợp bản sửa lỗi này vào ack.vim. Nhờ Zyx –

+3

@RafaelVega Nó được cho là được đặt trong vimrc của bạn. ** Không đề xuất đặt plugin trong plugin. ** AFAIR điều này là sai đối với 'csh' trên linux, hoàn toàn sai đối với' cmd.exe' trên cửa sổ. – ZyX

0

Giải pháp được đề xuất hoạt động, nhưng bây giờ màn hình vim ở đầu ra sau khi nhấn ctrl-z.

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