Usando tmux com emacs e vim

Usando tmux com emacs e vim

Qual é a melhor ligação de chave padrão para o tmux e por que se alguém às vezes usa o emacs e às vezes o vim (no Linux Mint 12)? Ctrl-b está OK, mas isso entra em conflito um pouco com o shell bash e o emacs.

Responder1

Encontrei uma boa resposta em uma postagem relacionada:Qual é a sequência de prefixo/escape menos conflitante para screen ou tmux?

E eu usei Ctrl-\. Abaixo está meu ~/.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-\

Responder2

Eu prefiro fortemente C-]o , que não entra em conflito com as ligações do vi e entra em conflito com a abort-recursive-editligação padrão no Emacs. Eu uso isso raramente e em circunstâncias bastante desagradáveis, então digitar duas vezes não é um grande drama.

Responder3

Eu tenho usado Ctrl-/ há algum tempo e não encontrei conflito com nada, pelo menos no vim/bash. Eu não uso o emacs, então não sei se ele entra em conflito com algo importante nele.

Também uma pequena observação: acredito que tive que vinculá-lo a C-_ para fazê-lo funcionar, já que essa é a chave real que ele envia.

Responder4

Eu uso C-\. Observe que você precisa escapar com aspas simples:

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

informação relacionada