2013-05-19 1 views
2

tmux 세션 내에서 실행중인 Vim을 사용하고 있습니다. tabnext : 빔 내에서, 나는 Ctrl 키 오른쪽에 바인딩이 나는 Vim은 TMUX 내부에있는 경우에도이 바인딩을 호출 할 수 있도록하려면Ctrl-Tmux 내에서 Vim으로 보내기

map <C-right> :tabnext<CR>  "next tab 

, 그래서 내 .tmux.conf에 다음과 같은 추가 :

bind-key -n C-Right send-keys C-Right 

그러나 이것은 Tmux 나 Vim에서 눈에 띄는 효과가 없습니다! 여기서 내가 뭘 잘못하고 있니?

미리 감사드립니다.

+0

왜 맞춤 바인딩이 필요합니까? 그것은 이미'gt'에 묶여 있습니다 (그리고 이전은'gT'입니다). – timss

+0

매핑이 터미널 vim에서 작동합니까? 내 말은 ** 터미널에있는 tmux에 ** 없다는 거지? – Kent

+0

@Kent 왜 그렇지 않습니까? 나를 위해 일합니다. – glts

답변

10

내가 알 수없는 영역을 아주 많이 걷고 있어도 뭔가 효과가 있습니다. 아마도 다른 사람이 나머지를 채울 수 있습니다.

첫 번째 차이점은 터미널에서 Vim을 시작할 때 tmux 내부의 Vim이 'term' 설정에있을 때 나타났습니다.

:set term?라고 묻는 질문에 일반 단말기 Vim은 xterm-256color이라고 대답했지만 tmux Vim은 screen이라고 대답했습니다. 터미널에서 전송되는 정확한 키 코드는 터미널 유형에 따라 다릅니다.

한 가지 해결책은 단순히 tmux와 Vim이 동일한 언어를 사용하도록하는 것입니다. 빔에서

set-option -gw xterm-keys on 
bind-key -n C-Right send-keys C-Right 

: TMUX에서

:set term=xterm-256color 

이제 빔 및 모든 방법 빔에 그것을 만들 것입니다 서로의 터미널 키 코드와 키 스트로크를 이해 TMUX.

+0

+1은': set term = xterm-256color'를 가리키며,'tmux'는 내부에서 실행되는 모든 쉘에 대해'screen '으로 설정합니다. – dev

+0

나에게 많은 시간을 절약 해주었습니다. –