2011-12-22 20 views
22

Tôi đã thiết lập tmux với $TERM được đặt thành screen-256color chính xác. Điều này hoạt động tốt và màu sắc được đặt chính xác, tuy nhiên nó ngăn tôi gửi các phím HOMEEND tới đầu cuối, thay vào đó được in dưới dạng F\nH\n.

Tôi nên thêm rằng nhà xuất hiện để hoạt động trong irssi, nhưng không phải vim. Trang chủ dường như để gửi (Theo Ctrl+v <HOME>), ^[OH

Nó có thể là giá trị thêm rằng tôi cũng nhận thức được khả năng sử dụng ^$ để chuyển sang bắt đầu và kết thúc của đường nét, tuy nhiên $ không đi đến cuối cùng, thay vì ký tự áp chót và tôi thích sử dụng HOMEEND (như tôi có thể trong các cài đặt $ TERM khác).

Bất cứ ai có thể giải thích lý do tại sao điều này xảy ra và cách tôi có thể khắc phục?

Là bản sửa lỗi một phần, tôi đặt các móc khóa vim để ánh xạ phím số <Home><End> nhấn <Esc>OH<Esc>OF. Đây không phải là lý tưởng, nhưng làm việc cho thời điểm này! Xem https://github.com/jvc26/dotfiles/blob/master/.vimrc để biết chi tiết.

Cảm ơn!

Trả lời

14

Giải pháp lập bản đồ trên không ảnh hưởng đến chế độ lệnh hoặc chế độ trực quan. Sau đây là một giải pháp lý tưởng hơn cho đến khi một trong hai tmux hoặc vim sửa lỗi (đặt trong bạn vimrc):

"""""""""""""" 
" tmux fixes " 
"""""""""""""" 
" Handle tmux $TERM quirks in vim 
if $TERM =~ '^screen-256color' 
    map <Esc>OH <Home> 
    map! <Esc>OH <Home> 
    map <Esc>OF <End> 
    map! <Esc>OF <End> 
endif 
+0

là không có cách nào để sửa "$" sẽ kết thúc? – sheki

+1

Có lỗi nào được lưu ở đâu đó mà tôi có thể theo dõi không? – flickerfly

2

Để khắc phục, tôi đặt các móc khóa vim để ánh xạ phím số <Home><End> nhấn <Esc>OH<Esc>OF.

" Handle TERM quirks in vim 
if $TERM =~ '^screen-256color' 
    set t_Co=256 
    nmap <Esc>OH <Home> 
    imap <Esc>OH <Home> 
    nmap <Esc>OF <End> 
    imap <Esc>OF <End> 
endif 
Các vấn đề liên quan