Tmux'u hem emacs hem de vim ile kullanma


16

Tmux için en iyi varsayılan anahtar bağlama nedir ve neden bazen emacs kullanıyor ve bazen vim kullanıyorsa (Linux Mint 12'de)? Ctrl-b iyi, ama bu biraz bash kabuğu ve emacs ile çakışıyor.


Size mantıklı gelen. Duh?
Ярослав Рахматуллин

Yanıtlar:


9

İlgili bir gönderide iyi bir yanıt buldum: Ekran veya tmux için en az çelişen önek / kaçış dizisi nedir?

Ve Ctrl- \ ile gittim. Aşağıda benim ~ / .tmux-conf var:

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 için kutudan çıkmaz. Ctrl-a'ya geri döndüm ve emacs için vim bağlarına ve kötü moda geçtim, bu yüzden satır başlangıcı için ctrl-a'ya artık basmıyorum.
justingordon

4

C-]Vi bağlamaları ile çelişmeyen ve Emacs'daki varsayılan abort-recursive-editbağlama ile çatışanları kesinlikle tercih ederim . Bunu nadiren yeterince kullanıyorum ve yeterince kötü koşullarda, iki kez yazmanın büyük bir dram olmadığını düşünüyorum.


1

Bir süredir Ctrl- / kullanıyorum ve en azından vim / bash içinde hiçbir şeyle çelişmedim. Emacs kullanmıyorum, bu yüzden önemli bir şeyle çakışıp çakışmadığını bilmiyorum.

Ayrıca küçük bir not Ben gönderdiği gerçek anahtar bu yüzden işe almak için C-_ bağlamak zorunda olduğuna inanıyorum.


C- \ ve C-_ kesinlikle farklı karakterlerdir; sırasıyla, 0x1C “Dosya Ayırıcı” ve 0x1F “Birim Ayırıcı” dır. Wikipedia'nın ASCII kontrol karakterlerindeki tabloya bakın .
Chris Johnsen

1

Ctrl + Alt + b'yi seçtim, yani

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

1

C- \ kullanıyorum. Tek tırnak işareti ile kaçmanız gerektiğini unutmayın:

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

Not olarak, bu vim'in değerlendirme ifadesi kısayol tuşuyla çakışır.
mahdix

0

Bunun için karşılaştığım en iyi çözüm sadece `kullanmaktır. Bu bana sorun neden tek yer doğrudan kod (sistem arabellekleri ile) yapıştırma, aksi takdirde mükemmel bir çözümdür.

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

0

Başka bir iyi fikir de gitmek M-F3. Emacs ve vi ile çakışmaz, kombinasyon oldukça uygundur, 'run komutu ve sanal masaüstü menüsü için kullanılan M-F2 ve M-F1'e kapalıdır.

[Emacs kullanıyorum ve bazı vim (şimdilik emacs içinde) ve distro için linuxMint tarçın kullanıyorum]

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.