2013-08-14 3 views
1

나는 tmux 1.8에이 문제가있다. 나는 vi 모드에서 명령을 입력하는 것을 정말로 싫어하기 때문에 status-keys 옵션을 'emacs'로 설정하고 싶다. 그러나 .tmux.conf에 다음 줄을 추가하는 것은 아무런 효과가 없습니다 : TMUX를 다시 시작tmux에서 emacs 스타일의 상태 키를 강제 실행하는 방법?

set -g status-keys emacs 

tmux show-options -g | grep keysemacs를 말한다하지만, 실제 동작은 VI-스타일입니다.

내 문제의 근원은 $EDITOR이고, 내 경우에는 vim으로 설정됩니다. 문서 내용 :

status-keys [vi | emacs] 
    Use vi or emacs-style key bindings in the status line, 
    for example at the command prompt. The default is emacs, 
    unless the VISUAL or EDITOR environment variables are set 
    and contain the string `vi'. 

환경 변수가 "vim"이면 분명히 vi 상태 키가됩니다.

이 동작을 무시하고 환경 변수에도 불구하고 프롬프트가 emacs 스타일로 작동합니까? 나는 분명히 이것 (다른 env 변수로 tmux를 시작하고 나중에 원본을 복원하는 것)을 해킹 할 수 있지만 깨끗한 해결책이 있기를 바란다.

감사합니다.

+1

는 https://github.com/tmux/tmux/ (이 옵션은 [제거]하고 있습니다 blob/2.5/CHANGES # L97)을 v2.5에 추가했습니다. (맨 페이지에서 삭제되지는 않았지만) –

답변

2
모두 status-key

vi-mode-keys 기본 편집기 vi가 포함되어있는 경우, 그러나 (구성 파일이 처리되기 전에 시작시)이 기본이다. 구성에서이 옵션 중 하나를 설정하면 EDITOR 기반 기본값을 대체해야합니다.

mode-keys (copy-modechoose-… 명령에서 사용되는 키 맵을 제어)도 설정합니까?

set -gw mode-keys emacs 
+1

'mode-keys'는'vi'가되기 때문에 설정하지 않았습니다. 그러나'status-keys'와는 달리'mode-keys'를'emacs '로 설정할 때 올바른 emacs 동작을 덮어 씁니다. 이 문제는'상태 키 '에만 영향을 미친 것으로 보인다. – Nikita

+0

'EDITOR = vim tmux -L fresh -f/tmp/t'로 문제를 재현 할 수 없습니다. 여기서'/ tmp/t'는'set -g status-keys emacs' 만 포함하고 있습니다 : 전역'status-keys'는 다음과 같습니다. 'emacs', 그리고 상태 표시 줄에 Emacs 스타일의 바인딩을 얻습니다. 윈도우 전역'mode-keys'는'vi'이고'copy-mode'에서 vi 스타일 바인딩을 얻습니다. 세션이 전역 값을 오버라이드하고있는'status-keys '에 대한 자체 값을 가지고 있지 않습니까? ('tmux show-option | grep keys'가 출력을하지 않는지 확인하십시오.) –

+1

당신이 묘사 한 것과 정확히 똑같은 문제가 있습니다. 지금은 해결 방법으로'tmux'를'EDITOR = VISUAL = tmux'의 별칭으로 사용했습니다. – Nikita

0

나는이 문제가 있었는데, 나는 그걸 알아 냈다고 생각한다. 우연히 ZSH (Z Shell)를 사용하십니까?

I found this post 귀하의 영상 및/또는 편집자가 vi/vim으로 설정된 경우 ZSH도 "vi 모드"로 전환됩니다. 그래서 제가 실제로 tmux에서 ZSH에서부터 버블 링하는 문제가있었습니다!

즉, emacs 스타일 키를 tmux 외부의 쉘에서 사용할 수 있는지 확인하십시오. ZSH를 사용하는 경우 bindkey -e.zshrc에 추가하여 이맥스 바인딩을 설정할 수 있습니다. 그런 다음 .tmux.conf에서 :

상태-keys`이 무엇을 '파악하는 동안이 스레드를 찾은 사람들을위한
set -g mode-keys emacs 
set -g status-keys emacs 
관련 문제