Trong gVIM tôi sử dụng lệnh echomsg
để xuất thông báo gỡ lỗi từ tập lệnh của tôi (cho mục đích gỡ lỗi) và messages
lệnh để xem chúng. Tất cả hoạt động tốt, nhưng cơ sở lộn xộn vim hiển thị tất cả tin nhắn - từ tất cả các tập lệnh, hệ thống, thông báo, v.v. Có cách nào đó để xóa danh sách thư (thủ công trước khi tôi thực hiện hành động tôi muốn gỡ lỗi) để tôi có thể dễ dàng xem thư từ kịch bản? Hoặc có lẽ một số bộ lọc tôi có thể sử dụng để chỉ xem tin nhắn của tôi?Có thể xóa lịch sử tin nhắn trong gVIM không?
Trả lời
AFAIK bạn có thể không rõ ràng lịch sử tin nhắn, nhưng bạn có thể sử dụng lệnh riêng của bạn thay vì :echom
, ví dụ:
command -nargs=1 -bar Echo :let g:messages=get(g:, 'messages', [])+[<q-args>]
hoặc, có lẽ tốt hơn,
command -nargs=1 -bar Echo :let g:messages=get(g:, 'messages', [])+[eval(<args>)] | echom <args>
một đầu tiên không phải là đánh giá đối số của nó và do đó không thể thay thế :echom
, thứ hai là, nhưng lưu ý rằng trong khi với :echom
:echom 1 2
và :echom 1.' '.2
sản xuất cùng một kết quả, với :Echo
đầu tiên sẽ là lỗi khi bạn buộc phải sử dụng biểu mẫu thứ hai.
Cả hai lệnh sẽ đặt thông báo vào biến g:messages
, tạo thông báo nếu cần. Để xóa lịch sử, chỉ cần sử dụng
unlet g:messages
Đối với phiên bản vim mới hơn, hãy xem: https://stackoverflow.com/a/36777871/237059 – Stabledog
Lệnh này điền vào các thư trống để xóa lịch sử tin nhắn.
command! MessageClear for n in range(200) | echom "" | endfor
- 1. Redis pub có tiếp tục tồn tại các tin nhắn lịch sử trong một kênh không?
- 2. Tin nhắn Erlang/OTP có đáng tin cậy không? Tin nhắn có thể được sao chép không?
- 3. GVIM có thể có hình nền không?
- 4. Xóa nội dung tập tin từ lịch sử SVN
- 5. Trong gvim, có thể có nhiều hàng tệp tab không?
- 6. Có thể gửi tin nhắn qua GTalk Intent không?
- 7. Làm thế nào bạn có thể xóa văn bản cũ trong Chế độ chèn trong GVIM
- 8. Việc xóa một nhánh trong git có xóa nó khỏi lịch sử không?
- 9. Không thể xóa lời nhắc từ Lịch trong Android
- 10. Ai đó có thể giải thích nhà môi giới tin nhắn nào được sử dụng không?
- 11. Tôi có thể phát một tin nhắn cụ thể trong mạng của mình bằng python không?
- 12. Git rebase có thể xóa hoàn toàn lịch sử từ xa không?
- 13. Tôi có thể thay đổi lịch sử tìm tập tin của Emacs không?
- 14. Trong emacs, tôi có thể thiết lập bộ đệm * Tin nhắn * để nó có đuôi không?
- 15. Trò chuyện Firebase - xóa các tin nhắn cũ
- 16. Django: Xóa tin nhắn trước khi chúng được hiển thị
- 17. Tăng Hàng đợi Tin nhắn không dựa trên hàng đợi tin nhắn POSIX? Không thể chọn (2)?
- 18. Có cách nào để xóa lịch sử cho một tệp trong Mercurial không?
- 19. API iframe của Youtube không thể đăng tin nhắn
- 20. Android gửi SMS mà có thể nhìn thấy trong chủ đề tin nhắn SMS (không GUI)
- 21. git pull - không thể gửi tin nhắn hợp nhất
- 22. Không thể nhận tin nhắn từ thiết bị (iPhone)
- 23. API android có thể được sử dụng để chặn và đọc tin nhắn của nhà điều hành (tin nhắn USSD) không?
- 24. Spy ++ thay thế có thể gửi tin nhắn
- 25. Có thể buộc Lync lưu lịch sử trò chuyện không chậm trễ không?
- 26. Không thể sử dụng nhiều hơn một lần trong vĩ mô gvim
- 27. Không thể bắt giấc ngủ/treo tin nhắn (winXP)
- 28. Xóa một tin nhắn từ hộp thư đến
- 29. Devise/Rails - Cách xóa một tin nhắn flash cụ thể? (Đã đăng nhập thành công)
- 30. Gửi tin nhắn SMS/Tin nhắn văn bản qua PHP
Dường như không có cách nào để xóa 'thư-lịch sử' – kev
Có thể nơi nào là cách để đăng thông báo gỡ lỗi thay thế? – grigoryvp
@EyeofHell Một cái gì đó như 'lệnh -nargs = 1 -bar Echo: cho g: messages = get (g :, 'messages', []) + []'. Thao tác này sẽ đặt các thông báo gỡ lỗi vào danh sách 'g: messages' (và tạo thông báo nếu được yêu cầu). –
ZyX