<commit_before>---
layout:     post
title:      "tmux-introduction"
subtitle:   "tmux介绍"
date:       2017-11-14 20:00:00
author:     "Mickey"
header-img: "img/post-bg-e2e-ux.jpg"
tags:
    - 实用开发工具
---

### Tmux终端复用

你是否曾经开过一大堆的Terminal？有没有把它们都保存下来的冲动？Tmux 的Session就是做这件事情的！你可以随时退出或者进入任何一个Session。每个Session有若干个Window，每个Window又可以分成多个窗格（Pane）。

Tmux是一个终端复用软件，BSD协议发布。一般用于在一个命令行窗口中访问多个命令行会话，或者在一个命令行终端中同时使用多个程序。

* iTerm的窗格和Tmux有什么区别？

	我也很喜欢用iTerm的窗格，本地开发也很好用，但是在服务器上，要保持一个服务一直run，Tmux就有他的过人之处了，Tmux在一个命令行窗口中不仅可以显示多个Shell的内容，而且可以保持多个会话，最重要的是：Tmux和Vim一样属于字符终端软件，不需要任何GUI的支持，在远程登录的时候尤其有用。
	
* 如何在服务器上下载Tmux

	[Tmux的github地址](https://github.com/tmux/tmux)
	
	```
	$ git clone https://github.com/tmux/tmux.git
	$ cd tmux
	$ sh autogen.sh
	$ ./configure && make
	```

	过程可能会比较慢，但等一下就好啦，毕竟是源代码编译～
	
* 基本使用

	* tmux 创建一个默认名字的session，并且进入该session
	* tmux ls 查看当前tmux-server中有多少session
	* tmux kill-server 清空tmux-server中的所有session
	* tmux new -s name 创建一个以name为名字的session，并且进入该session
	* tmux a -t name 进入名字为name的session

* 基本配置

	* 默认的`<prefix>`是`Ctrl + b`，`<prefix>`是你在tmux中执行一些操作的前缀按键，如果你觉得不好按可以调整为`Ctrl + a`，只需要在配置文件`~/.tmux.conf`中加入:

		```
		unbind ^b
		set -g prefix 'C-a'
		```<commit_msg>fix(tmux): add tmux kill-session -t name<commit_after>---
layout:     post
title:      "tmux-introduction"
subtitle:   "tmux介绍"
date:       2017-11-14 20:00:00
author:     "Mickey"
header-img: "img/post-bg-e2e-ux.jpg"
tags:
    - 实用开发工具
---

### Tmux终端复用

你是否曾经开过一大堆的Terminal？有没有把它们都保存下来的冲动？Tmux 的Session就是做这件事情的！你可以随时退出或者进入任何一个Session。每个Session有若干个Window，每个Window又可以分成多个窗格（Pane）。

Tmux是一个终端复用软件，BSD协议发布。一般用于在一个命令行窗口中访问多个命令行会话，或者在一个命令行终端中同时使用多个程序。

* iTerm的窗格和Tmux有什么区别？

	我也很喜欢用iTerm的窗格，本地开发也很好用，但是在服务器上，要保持一个服务一直run，Tmux就有他的过人之处了，Tmux在一个命令行窗口中不仅可以显示多个Shell的内容，而且可以保持多个会话，最重要的是：Tmux和Vim一样属于字符终端软件，不需要任何GUI的支持，在远程登录的时候尤其有用。
	
* 如何在服务器上下载Tmux

	[Tmux的github地址](https://github.com/tmux/tmux)
	
	```
	$ git clone https://github.com/tmux/tmux.git
	$ cd tmux
	$ sh autogen.sh
	$ ./configure && make
	```

	过程可能会比较慢，但等一下就好啦，毕竟是源代码编译～
	
* 基本使用

	* tmux 创建一个默认名字的session，并且进入该session
	* tmux ls 查看当前tmux-server中有多少session
    * tmux kill-session -t session-name 清空tmux-server中名字为session-name的session
	* tmux kill-server 清空tmux-server中的所有session
	* tmux new -s name 创建一个以name为名字的session，并且进入该session
	* tmux a -t name 进入名字为name的session

* 基本配置

	* 默认的`<prefix>`是`Ctrl + b`，`<prefix>`是你在tmux中执行一些操作的前缀按键，如果你觉得不好按可以调整为`Ctrl + a`，只需要在配置文件`~/.tmux.conf`中加入:

		```
		unbind ^b
		set -g prefix 'C-a'
		```
{'fraction_non_alphanumeric': 0.12555510698425515, 'fraction_numerical': 0.012111425111021397, 'mean_word_length': 5.118518518518519, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4026221', 'n_tokens_mistral': 1581, 'n_tokens_neox': 1681, 'n_words': 136}