2016年3月13日星期日

tmux安装使用

MacOS中安装:
brew install tmux

Ubuntu中自带tmux

我的配置文件~/.tmux.conf:
set -g prefix C-a
unbind C-b
setw -g mode-keys vi
set -g automatic-rename off
set -g allow-rename off
set-option -g history-limit 65535
bind -n C-k clear-history
上面最后一行的配置是将clear-history命令绑定到ctrl+k快捷键,可以清除scrollback buffer。
配置文件参考:http://www.cnblogs.com/scue/p/3705309.html

配置完以后,重启tmux起效,或者先按C+b,然后输入:进入命令行模式, 在命令行模式下输入:
source-file ~/.tmux.conf

tmux中可以创建多个session,每个session可以创建多个窗口,每个窗口可以分割为多个窗格。
新建session:tmux new-session -s session_name
进入session:tmux a -t session_name
列出所有sessions:tmux list-sessions
关闭session:ctrl+d
删除所有session:tmux kill-server
删除指定session:tmux kill-session -t session_name
输出tmux剪贴板中的内容:tmux show-buffer

前缀键:我设置的是ctrl+a。快捷键:
系统操作:
? 显示帮助
d 脱离当前会话
[ 进入复制模式,按空格开始选中,回车结束选中,选中内容被复制
] 粘贴
: 进入命令模式

session操作:
$ 重命名session
s 以列表方式选择session
:new-session 新建session

窗口操作:
c 新建窗口
, 重命名窗口
w 以列表方式选择窗口
n 切换至下一个窗口
p 切换至上一个窗口
数字键 切换窗口
& 关闭窗口
l 切换到最后使用的窗口
} 与下一个窗格交换位
{ 与上一个窗格交换位置

窗格操作:
" 横向分割窗口
% 纵向分割窗口
q 选择窗格
; 切换至上一个窗格
o 切换至下一个窗格
z 全屏切换
方向键 切换窗格
alt+方向键 修改窗格大小
space 重新布局窗格
ctrl+a+o 交换窗格位置
x 关闭窗格

vim中y复制同步到tmux的缓冲区:
brew install reattach-to-user-namespace
同时添加配置如下:
# getting tmux to copy a buffer to system clipboard
set-option -g default-command "reattach-to-user-namespace -l zsh" # or bash...
bind y run "tmux save-buffer - | reattach-to-user-namespace pbcopy" \; display-message "Copied tmux buffer to system clipboard"
bind C-v run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"
http://foocoder.com/2013/07/28/zhong-duan-huan-jing-zhi-tmux/


更多参考:
https://gist.github.com/ryerh/14b7c24dfd623ef8edc7
http://mingxinglai.com/cn/2012/09/tmux/

tmux会source ~/.profile两次,奇怪的问题。

没有评论:

发表评论