Vim tab hoàn thành:
Đây là một vấn đề với mô phỏng thiết bị màn hình/tmux của. Nếu các tab hoạt động trong trình bao của bạn (ví dụ: bash), có khả năng là tín dụng của trình bao; nó biết để lập bản đồ chuỗi điều khiển cho bạn trong khi vim thì không. Có lẽ, bạn có thể sửa lỗi này theo cách tương tự, nhưng sau đó bạn sẽ gặp phải vấn đề trong một số chương trình tương tác khác.
Tôi không thể nói chuyện với tmux, nhưng đối với màn hình, bạn nên xem xét cập nhật ~/.screenrc của mình. Mỏ, được sao chép từ mặc định đi kèm với Redhat (mà tôi không còn sử dụng ...), bao gồm:
#xterm understands both im/ic and doesn't have a status line.
#Note: Do not specify im and ic in the real termcap/info file as
#some programs (e.g. vi) will not work anymore.
termcap xterm [email protected]:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
terminfo xterm [email protected]:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
Lưu ý rằng nhận xét, nó có thể cho biết vấn đề của bạn.
Một tham chiếu đến vi, mà có thể hoặc không có thể đã đến từ screenrc Redhat, là:
# Yet another hack:
# Prepend/append register [/] to the paste if ^a^] is pressed.
# This lets me have autoindent mode in vi.
register [ "\033:se noai\015a"
register ] "\033:se ai\015a"
bind ^] paste [.]
Hy vọng rằng một hoặc cả hai sẽ giúp, nếu không tôi đã chỉ bạn đi đúng hướng để nghiên cứu những gì bạn cần để sửa lỗi mô phỏng thiết bị đầu cuối màn hình/tmux của bạn. Có lẽ câu trả lời cho screen, vimrc, and bashrc qua tại LinuxQuestions.org có thể giúp thêm.
X11 Forwarding:
Khi bạn đầu tiên màn hình ra mắt, $ DISPLAY được thừa hưởng. Ví dụ, tôi tận dụng điều này trên máy chủ TV của tôi; Tôi khởi động màn hình tại địa phương (DISPLAY=localhost:0
), sau đó khi tôi kết nối với nó qua SSH, bất cứ điều gì tôi làm liên quan đến X bật lên trên TV. Rõ ràng, đây không phải là tất cả trường hợp sử dụng của bạn; Tôi chỉ đang cố gắng giáo dục bạn về cách nó hoạt động để bạn có thể hiểu được giải pháp.
Nếu bạn đang kết nối lại với phiên màn hình/tmux được khởi chạy bởi kết nối SSH cũ, bạn có thể may mắn và kết nối với cùng màn hình X (SSH mặc định là localhost: 10.0 và sau đó tăng mỗi lần tìm thấy xung đột), nhưng điều đó không có vẻ như nó đang xảy ra cho bạn. (The "localhost" phần là không bắt buộc, như là" .0" phần. Những người không nên quan trọng đối với mục đích của bạn. DISPLAY=:10
cũng giống như DISPLAY=localhost:10.0
)
Trước bạn kết nối với phiên màn hình/tmux của bạn, hãy xem $ DISPLAY của bạn.
$ echo $DISPLAY
localhost:10.0
Sau đó, đăng nhập vào màn hình/tmux và đặt $ DISPLAY theo những gì bạn đã thấy trước đây.
$ screen -r
$ export DISPLAY=localhost:10.0
Tôi không nghĩ rằng một trong hai màn hình hoặc tmux là đủ thông minh để đi bất kỳ xa hơn này (hãy xem gương máy chủ truyền hình của tôi, điều này không phải luôn luôn mong muốn, và yêu cầu màn hình/tmux để kiểm tra $ DISPLAY và sau đó hành động tùy thuộc vào tính sẵn có của nó là một chút nhiều), vì vậy bạn phải làm điều này bằng tay.
(Điều này có thể gây phiền toái nếu bạn giống tôi và thêm screen -r >/dev/null 2>&1
vào ~/.bashrc. Tôi không gặp phải vấn đề này vì tôi cố gắng tránh chuyển tiếp X11 bất cứ khi nào có thể do chậm như mật đường và tất nhiên là không tồn tại các ngắt kết nối SSH.)