Cuộn trong Vim qua màn hình (và PuTTY) đôi khi chèn các ký tự ngẫu nhiên


2

Tôi đang gặp vấn đề lạ với Vim, màn hình và putty.

Tôi đang kết nối với Screen thông qua Putty, nói chung, hoạt động tốt. Tuy nhiên, tôi đã gặp một số vấn đề với việc di chuyển để làm việc trong Vim.

Một số chi tiết:

  • Tôi đặt termcapinfo xterm* ti@:te@trong screenrc của mình để tôi có thể sử dụng con lăn chuột để cuộn. Nó không hoạt động tốt (cuộn ngược lại bị nhầm lẫn giữa các cửa sổ màn hình), nhưng tôi thích sử dụng bàn phím hơn
  • Tôi có set term=xtermtrong vimrc của tôi.
  • Cũng trong vimrc của tôi, tôi đã thiết lập mouse=attymouse=xterm2để tôi có thể sử dụng con lăn chuột. Đây là nơi phát sinh vấn đề
    • Khi tôi cuộn chuột ở phía bên trái của cửa sổ PuTTY, nó hoạt động tốt
    • Khi tôi cuộn bằng chuột ở phía bên phải của cửa sổ PuTTY, các ký tự ngẫu nhiên sẽ được chèn vào tệp tôi đang chỉnh sửa hoặc vào dòng lệnh Vim.

Tôi không thể tìm thấy ai khác với vấn đề này khi tôi đã tìm kiếm và tôi không biết phải thử gì. Bất kỳ đề xuất nào về những gì tôi có thể thử sẽ thực sự hữu ích.

Hãy cho tôi biết nếu tôi có thể cung cấp thêm thông tin.


Các ký tự lạ có biến mất khi bạn gõ ctrl-L(vẽ lại màn hình) không?
ott--

Không, chúng vẫn còn - chúng cũng được lưu vào đĩa nếu tôi lưu tệp.
Adam

Tôi tin rằng câu hỏi này có thể được coi là một bản sao của điều này .
suvayu

Này @AdamTonks, có cùng một vấn đề, giải quyết nào không?
Karoh

@Horak Xin lỗi - đừng nghĩ rằng tôi đã sửa lỗi này. Cuối cùng đã đi theo một hướng khác, và sử dụng tmux chứ không phải màn hình.
Adam

Câu trả lời:


1

Đặt " set term=xterm" trong vimrc của bạn là một ý tưởng tồi và có thể là nguyên nhân của các vấn đề của bạn; khi chạy dưới màn hình, TATE của bạn (trên vỏ) và 'term'tùy chọn trong Vim phải là "màn hình" và không có gì khác.

Nếu bạn đang cố gắng giải quyết vấn đề với TERM bằng cách đặt 'term'tùy chọn trong Vim, bạn cần tìm nguồn thực tế của vấn đề và khắc phục nó tại đó. Là PuTTY mô phỏng đúng loại thiết bị đầu cuối? Là vỏ của bạn trước khi bạn bắt đầu màn hình phản ánh đúng thời hạn? ( echo $TERMtrên dòng lệnh shell). Và cuối cùng, vỏ của bạn sau khi bạn bắt đầu màn hình được đặt thành "màn hình" (như thường lệ)?

Nếu bạn vẫn gặp sự cố này sau khi bạn đã khắc phục sự cố TATE, hãy kiểm tra đầu ra của:

:verbose set ttimeout? ttimeoutlen?

(Lưu ý hai chữ số và dấu chấm hỏi là một phần của lệnh.)

Thông thường, đầu ra sẽ là "nottimeout ttimeoutlen = -1" trên hai dòng, nếu chúng là bất cứ thứ gì khác, hãy thử đặt lại chúng:

:set ttimeout& ttimeoutlen&

1
Tôi đoán tôi nên nói rằng việc đặt 'thuật ngữ' vô điều kiện trong vimrc của bạn là một ý tưởng tồi. Cá nhân tôi đặt 'hạn' thành xterm-256color nếu 'thuật ngữ' của tôi là "xterm" và $ COLORTERM trong môi trường của tôi là "gnome-terminal".
Heptite
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.