emacsとvimの両方でtmuxを使用する


16

tmuxに最適なデフォルトのキーバインディングは何ですか?また、なぜemacsを使用し、vimを使用する場合(Linux Mint 12)ですか?Ctrl-bは問題ありませんが、bashシェルおよびemacsと少し競合します。


あなたにとって意味のあるもの。あれ?
ЯрославРахматуллин

回答:


9

関連する投稿で良い答えが見つかりました:screenまたは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に戻り、emacsのvimバインディングとevil-modeに切り替えたので、行頭でctrl-aを押すことはもうありません。
ジャスティンゴードン

4

C-]viバインディングと競合せずabort-recursive-edit、Emacsのデフォルトバインディングと競合するを強くお勧めします。私はそれをめったに使用せず、厄介な状況では、2回入力することは大きなドラマではありません。


1

私はしばらくCtrl- /を使用していましたが、少なくともvim / bashで競合するものは見つかりませんでした。私はemacsを使用しないので、重要なものと競合するかどうかはわかりません。

また、それが送信される実際のキーであるため、C-_にバインドして動作させる必要があったと思う小さなメモです。


C- \とC-_は明らかに異なる文字です。それぞれ、0x1C「ファイル区切り文字」と0x1F「ユニット区切り文字」です。ウィキペディアのASCII制御文字の表を参照してください。
クリスジョンセン


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と競合せず、組み合わせはかなり便利で、実行コマンドと仮想デスクトップメニューに使用されるM-F2とM-F1にかなり近いです。

[私はemacsを使用していて、vimを(今のところemacs内で)起動し、ディストリビューションにlinuxMint cinnamonを使用しています]

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.