이맥스와 vim 모두에서 tmux 사용하기


16

tmux를위한 가장 좋은 기본 키 바인딩은 무엇이며, 때때로 emacs를 사용하고 때때로 vim을 사용하는 경우 (Linux Mint 12에서)? Ctrl-b는 OK이지만, 이는 bash 쉘 및 emacs와 조금 충돌합니다.


너에게 의미있는 한 가지. 이런?
Ярослав Рахматуллин

답변:


9

나는 관련 게시물에서 좋은 대답을 발견했다 : 화면이나 tmux에 대한 최소한의 충돌 접두사 / 이스케이프 시퀀스는 무엇입니까?

그리고 나는 Ctrl- \를 사용했다. 아래는 ~ ~ .tmux-conf입니다.

set-window-option -g mode-keys vi
set-window-option -g window-status-current-bg blue
set-window-option -g automatic-rename on
set-option -g status-keys vi
set-option -g history-limit 100000
set-option -g base-index 1
set-option -s escape-time 0
setw -g mode-mouse on
set-option -g mouse-select-pane on

# We won't worry about sending C-\ to any programs
# bind-key C-\ send-prefix

# hit C-\ twice to go to last window
bind-key C-\ last-window
bind-key b set-option status

bind-key / command-prompt "split-window 'exec man %%'"
# vim's definition of a horizontal/vertical split is reversed from tmux's
bind s split-window -v
bind v split-window -h

# move around panes with hjkl, as one would in vim after pressing ctrl-w
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# resize panes like vim
bind < resize-pane -L 10
bind > resize-pane -R 10
bind - resize-pane -D 10
bind + resize-pane -U 10

# C-b is not acceptable, due to emacs, bash, and vim
unbind-key C-b
set-option -g prefix C-\

이 기능은 Mac에서는 사용할 수 없습니다. Ctrl-a로 돌아가서 vim 바인딩과 이맥스 용 사악 모드로 전환 했으므로 더 이상 Ctrl-a를 누르지 않았습니다.
justingordon

4

나는 강하게 선호한다. C-], vi 바인딩과 충돌하지 않고 디폴트와의 충돌 abort-recursive-edit Emacs에서 바인딩. 나는 그것을 거의 사용하지 않으며, 불쾌한 상황에서 두 번 타이핑하는 것은 큰 드라마가 아니다.


1

나는 한동안 Ctrl- /를 사용 해왔고 적어도 vim / bash에서 충돌하는 것을 발견하지 못했습니다. 나는 이맥스를 사용하지 않으므로 이맥스에서 중요한 것이 무엇인지 모릅니다.

또한 작은 노트는 그것을 보내기 위해 C-_에 바인드해야한다고 믿습니다. 실제 키를 보내는 것이기 때문에 작동하도록하십시오.


C- \와 C-_는 분명히 다른 문자입니다. 각각 0x1C "파일 구분 기호"및 0x1F "단위 구분 기호"입니다. 의 표를 참조하십시오. Wikipedia의 ASCII 제어 문자 .
Chris Johnsen


1

나는 C-를 사용한다. 작은 따옴표로 이스케이프 처리해야합니다.

unbind-key C-b
set-option -g prefix C-'\'

메모로서, 이것은 vim의 표현식 바로 가기 키와 충돌합니다.
mahdix

0

가장 좋은 해결책은`를 사용하는 것입니다. 이 문제가 발생하는 유일한 장소는 코드에 직접 붙여 넣기 (시스템 버퍼 사용)입니다. 그렇지 않으면 완벽한 솔루션입니다.

set -g prefix `
bind-key ` send-prefix

0

또 다른 좋은 아이디어는 M-F3. 그것은 emacs와 vi와 충돌하지 않습니다. combinaison은 다소 편리합니다. M-F2와 M-F1은 실행 명령과 가상 데스크탑 메뉴에 사용됩니다.

[나는 이맥스를 사용하고 있으며, (지금은 이맥스에서) 몇 가지 정력을 시작하고 배포판을위한 linuxMint 계피를 사용하고있다.]

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.