Usando o tmux com o emacs e o vim


16

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


Um que faz sentido para você. Duh?
Ярослав Рахматуллин

Respostas:


9

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

E eu fui com Ctrl- \. Abaixo está o 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-\

Isso não funciona imediatamente para o Mac. Voltei ao Ctrl-a e mudei para vim bindings e evil-mode para o emacs, para não pressionar mais o ctrl-a no início da linha.
justingordon

4

Eu prefiro fortemente C-], o que não entra em conflito com as ligações 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, que digitar duas vezes não é um grande drama.


1

Uso o Ctrl- / há algum tempo e não achei 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 nota que acredito ter que vinculá-lo ao C-_ para fazê-lo funcionar, pois essa é a chave real que ele envia.


C- \ e C-_ são definitivamente personagens diferentes; respectivamente, são 0x1C "Separador de Arquivos" e 0x1F "Separador de Unidade". Veja a tabela nos caracteres de controle ASCII da Wikipedia .
31812 Chris Johnsen

1

Eu escolhi Ctrl + Alt + b, ou seja,

unbind C-b
set -g prefix M-C-b

1

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

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

Como uma observação, isso entra em conflito com a tecla de atalho de expressão de avaliação do vim.
Mahdix

0

A melhor solução que encontrei para isso é usar apenas `. O único lugar que isso me causa problemas é colar diretamente no código (com buffers do sistema), caso contrário, é a solução perfeita.

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

0

Outra boa idéia é seguir em frente M-F3. Ele não entra em conflito com o emacs e vi, a combinação é bastante conveniente, pois é bastante fechada para o M-F2 e o M-F1 usados ​​para comando de execução e menu de desktops virtuais.

[Estou usando o emacs, iniciando o vim (dentro do emacs por enquanto) e usando linuxMint canela para distribuição]

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.