2015-09-03 52 views
7

我在ssh會話中使用tmux。 我正在使用多個窗格和窗口。tmux鼠標複製模式跳轉到底部

我有鼠標模式啓用,迄今爲止效果很好。

當我選擇文本時,它會自動複製到tmux緩衝區,並且窗口跳轉到最後。 因此,如果我向上滾動並敲擊它,它會跳到最後...... 當我在窗格之間切換時,複製命令被觸發並且輸出結束。 我真的不喜歡這種行爲,我寧願不得不按下按鈕來複制或單擊q來完成複製模式或某事。

是否可以禁用自動複製//自動跳轉到鼠標按鍵釋放結束?

我通過ssh在服務器上運行tmux 2.0。在客戶端的終結者。

# config                   
#{{{                    

# 0 is too far from ` ;)               
set -g base-index 1                

# Automatically set window title             
# set-window-option -g automatic-rename on          
# set-option -g set-titles on             

set -g default-terminal screen-256color           
set -g history-limit 10000              

set -g status-keys vi               
setw -g mode-keys vi                
setw -g mode-mouse on               
set -g mouse-select-window on             
set -g mouse-select-pane on              
set -g mouse-resize-pane on              

# No delay for escape key press             
set -sg escape-time 0               

#}}}                    

# bind keys                  
#{{{                    
# Reload tmux config                
bind r source-file ~/.tmux.conf             

# remap prefix to Control + a              
set -g prefix C-a                 
# bind 'C-a C-a' to type 'C-a'              
bind C-a send-prefix                
unbind C-b                   

# switch tabs with <b n>               
bind b previous-window                

# vi like paste                  
bind-key p paste-buffer                

# quick pane cycling                
unbind a                   
bind a select-pane -t :.+               

bind-key v split-window -h               
bind-key s split-window -v               

bind-key J resize-pane -D 10              
bind-key K resize-pane -U 10              
bind-key H resize-pane -L 10              
bind-key L resize-pane -R 10              

bind-key M-j resize-pane -D 2              
bind-key M-k resize-pane -U 2              
bind-key M-h resize-pane -L 2              
bind-key M-l resize-pane -R 2              

# Vim style pane selection               
bind h select-pane -L                
bind j select-pane -D                
bind k select-pane -U   
bind -n M-Down select-pane -D             

# find asci keycodes with "sudo showkey -a" - works only tmux >1.7    
# us-keyboard like [ ]               
bind-key -r 0xc3 display 'c3 prefix binding hack'        
bind-key -r 0xb6 copy-mode # ö             
bind-key -r 0xa3 paste-buffer # ä            
# us { }                   
bind-key -r 0x96 swap-pane -U # Ö - swap pane to prev position     
bind-key -r 0x84 swap-pane -D # Ä - to next pos 

#}}}       

回答

2

截止到tmux 2.2特性copy-selection -x可用。使用以下選項,選擇後,tmux將保持複製模式。選擇一個適合您的模式設置。

bind-key -t vi-copy MouseDragEnd1Pane copy-selection -x 
bind-key -t emacs-copy MouseDragEnd1Pane copy-selection -x 
1

看起來像升級到tmux 2.1可能會解決您的問題。

在2.1版本他們改變鼠標模式,鼠標選擇窗口/窗格等單鼠標開關。鼠標操作現在生成可以映射爲普通鍵的鍵事件。

4

我能得到鼠標選擇停止跳轉到底部TMUX加入下面的我~/.tmux.conf(2.2版本):

setw -g mouse on 
setw -g mode-keys vi 
unbind -t vi-copy MouseDragEnd1Pane 

警告:這有打開的副作用vi模式。

我發現this issue是相關的,並發現上面的配置在these dotfiles

2

由於TMUX 2.5的你應該使用

unbind -T copy-mode-vi MouseDragEnd1Pane