tmux frequently asked questions

How is tmux different from GNU screen?

    tmux and GNU screen have many similarities. Some of the main differences I am aware of are (bearing in mind I haven't used screen for a few years now):
    1) tmux uses a client-server model. Each server has single Unix domain socket in   /tmp and within one server there are multiple sessions which may be attached  to multiple clients (terminals).
    This has advantages, notably: windows may be linked simultaneouslyto multiplesessions; windows may be moved freely between sessions; and a client may be switched between sessions easily (C-b D). There is one major disadvantage: if the server crashes, game over, all sessions die. In practice, however, tmux is quite stable and gets more so as people report any bugs they hit :-). 
    This model is different from screen, where typicallyeach new screen instance is independent. tmux supports the same behaviour by using multipleservers with the -L option but it is not typically recommended.
    2) Different command interfaces. One of the goals of tmux is that the shell should be easily usableas a scripting language - almost all tmux commands can be used from the shell and behave identicallywhether used from the shell, from a key binding or from the command prompt. Personally I also find tmux's command interface much more consistentand clearer, but this is subjective.
    3) tmux calls window names (what you see in the status line) "names", screen calls them "titles".
    4) tmux has a multiple paste buffers. Nota major one butcomes in handy quite a lot.
    5) tmux supports automaticallyrenaming windows to the running application without gross hacks using escape sequences. Its even on by default.
    6) tmux has a choice of vi or emacs key layouts. Again, not major, but I use emacs so if tmux did support only one key set it would be emacs and then all the vi users would get humpy. Key bindings may be completely reconfiguredin any case.
    7) tmux has an option to limitthe window size.
    8) tmux has search in windows (C-b f).
    9) The window split (pane) model is different. tmux has two objects, windows and panes; screen has just windows. This difference has several implications
  1. In screen you can have a window appear in several layouts, in tmux a pane can only be in one window (fixing this is a big todo item but quite invasive).
  2. tmux layouts are immutable and do not get changed unless you modify them.
  3. In tmux, all panes are closed when you kill a window.
  4. tmux panes do not have individualnames, titles and so on.
    I think tmux's model is much easier to manage and navigatewithin a window, butbreaking panes off from and joining them to windows is more clumsy.
    tmux also has support for presetpane layouts.
    10) tmux's status line syntaxis more readable and easier to use. I think it'd be hard for anyone to argue with this. tmux doesn't support running a command constantly and always using the last line of its output, commands must be run again each time.
    11) tmux has modern, easily extended code. Again hard to argue screen is better if you have looked atthe code.
    12) tmux depends on libevent. I don't see this as a disadvantage: libevent is small and portable, and on modern systems with current package management systems dependencies are not an issue. libevent brings advantages in code simplicityand performance.
    13) screen allows the window to be bigger than the terminal and can pan around it. tmux limits the size to the largest attached client. This is a big todo item for tmux but it is not trivial.
    14) screen has builtin serialand telnet support; this is bloatand is unlikely to be added to tmux.
    15) Environment handling is different.
    16) tmux tends to be more demandingon the terminal so tends to show up terminal and application bugs which screen does not. 
    17) screen has wider platform support, for example IRIX, and for oddterminals.

Why is C-b the prefix key? How do I change it?

How do I use UTF-8?

How do I make Ctrl-PgUp and Ctrl-PgDn work in vim?

参考


tmux frequently asked questions的更多相关文章

  1. Relinking Oracle Home FAQ ( Frequently Asked Questions) (Doc ID 1467060.1)

    In this Document   Purpose   Questions and Answers   1)  What is relinking ?   2)  What is relinking ...

  2. Frequently Asked Questions

    转自:http://www.tornadoweb.org/en/stable/faq.html Frequently Asked Questions Why isn’t this example wi ...

  3. 06 Frequently Asked Questions (FAQ) 常见问题解答 (常见问题)

    Frequently Asked Questions (FAQ) Origins 起源 What is the purpose of the project? What is the history ...

  4. 成员函数指针 C++ FAQ LITE — Frequently Asked Questions

    http://www.sunistudio.com/cppfaq/pointers-to-members.html C++ FAQ LITE — Frequently Asked Questions ...

  5. openvswith Frequently Asked Questions

    Open vSwitch <http://openvswitch.org> 参考地址:http://git.openvswitch.org/cgi-bin/gitweb.cgi?p=ope ...

  6. Kafka Frequently Asked Questions

    This is intended to be an easy to understand FAQ on the topic of Kafka. One part is for beginners, o ...

  7. NFC Forum : Frequently Asked Questions (NFC 论坛:FAQ)

    NFC for Business What is the NFC Forum? The NFC Forum is a not-for-profit industry organization whos ...

  8. 工作笔记20170315-------关于FAQ(Frequently Asked Questions)列表的代码

    源自于:http://www.17sucai.com/pins/3288.html (1)FAQ问答列表点击展开收缩文字列表 <ul>   <li class="clear ...

  9. Frequently Asked Questions - P-thresholds

    Source: http://mindhive.mit.edu/book/export/html 1. What is the multiple-comparison problem? What is ...

随机推荐

  1. DotNetCore跨平台~配置文件与配置代码如何共存

    回到目录 古人云<一山不容二虎>,而进行dotnet core时代之后,我们可以看到这样的一些官方的DEMO,它将数据连接串和其它配置项都直接硬编码在代码里,即在startup中进行定义, ...

  2. C# 使用Parallel并行开发Parallel.For、Parallel.Foreach实例

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  3. 使用微软URLRewriter.dll的url实现任意后缀名重写

    <?xml version="1.0"?> <!--先引用URLRewriter.dll,放置于Bin目录--> <configuration> ...

  4. Mybatis了解(配置)

    Mybatis是一个基于jdbc映射框架.它跟hibernate一样都是对数据库进行操作的.Mybatis 它是通过配置xml或者是注解来进行映射的配置,最后实现操作接口与pojo来操作数据库. 因此 ...

  5. 使用MVVM减少控制器代码实战(减少56%)

    减少比例= (360(原来的行数)-159(瘦身后的行数))/360 = 56% 父类 MVC 和MVVM 前后基本不动 父类主要完成如下三个功能: 1)功能:MJRefrsh +上拉下拉没有更多数据 ...

  6. JavaScript观察者模式

    观察者模式观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得 ...

  7. MySQL存储过程/存储过程与自定义函数的区别

    语法: 创建存储过程: CREATE [definer = {user|current_user}] PROCEDURE sp_name ([ proc_parameter [,proc_parame ...

  8. javascript 之作用域-06

    作用域 作用域是指变量和函数可访问范围,他规定了如何查找变量,也就是确定当前执行代码对变量的访问权限. 作用域有两种工作模式: 静态作用域 :又称为词法作用域,在编译阶就可以决定变量的引用,由程序定义 ...

  9. LeetCode 63. Unique Path II(所有不同路径之二)

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...

  10. inline的C99标准相关原文

    WG14/N1256 Annex J (informative) Portability issues J.1 Unspecified behavior Whether a call to an in ...