Đây là tất cả trong iTerm2 trên OS X.
tôi từng có
export TERM='xterm-256color'
trong tôi .bashrc. Điều này có nghĩa là Vim trong tmux đã sử dụng 256 màu.
Và một khi tôi đã thêm
set -g xterm-keys on
sau đó các phím tắt với bộ sửa đổi hoạt động tốt trong Vim. Cụ thể: shift+left/righttôi đã ánh xạ để chuyển các tab Vim, ctrl+up/downmà tôi đã ánh xạ để di chuyển các dòng ("bong bóng") và shift+left/righthoạt động ra khỏi hộp để nhảy từng chữ trong chế độ dòng lệnh (ví dụ: khi gõ một cái gì đó như :e foo bar baz).
Tuy nhiên, thiết lập này có vấn đề là màu nền Vim chỉ hiển thị phía sau văn bản, như được đề cập ở đây .
Vì vậy, tôi đã loại bỏ
export TERM='xterm-256color'
từ của tôi .bashrcvà thay vào đó đặt điều này trong .tmux.conf:
set -g default-terminal "screen-256color"
Điều đó đã cố định màu nền Vim, nhưng đã phá vỡ các phím tắt - thay vào đó chúng làm những việc không mong muốn (di chuyển con trỏ, xóa văn bản).
Bằng cách sử dụng ctrl+vđể chèn đầu ra nguyên văn từ các tổ hợp phím (như được mô tả ở đây ), tôi có thể làm việc xung quanh nó:
map [1;5A <C-Up>
map [1;5B <C-Down>
map [1;2D <S-Left>
map [1;2C <S-Right>
cmap [1;2D <S-Left>
cmap [1;2C <S-Right>
Điều này làm cho các phím tắt hoạt động, nhưng nó không cảm thấy như một giải pháp đúng. Bất cứ ai có thể cho tôi biết những gì đang xảy ra ở đây và làm thế nào để khắc phục nó?
map <Esc>[B <Down>từ một của các câu trả lời. Có vẻ như lý do có một số giả định xấu được thực hiện bởi chính plugin.