`
liaofeng_xiao
  • 浏览: 127286 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

tmux学习笔记

 
阅读更多
tmux号称screen的替代品,来看看为什么这么说:
  • 支持多个window之间的粘贴/复制,可以选择粘贴缓冲区,而这screen不支持。
  • 分屏操作完胜。screen只支持简陋的上下分屏,分屏后还需要ctrl+a+c才能创建一个新的终端。screen直接创建一个终端,且支持屏幕之间的切换/relocate/重定义大小,以及提供了一些预置的layout
  • tmux默认自带status bar,screen还需手动配置
  • tmux的配置比screen简单
  • vi和emac模式绑定                                                    



启动tmux:
tmux ls: list tmux session
tmux attach: attach a tmux session

tmux启动参数:
  • -c: shell-command, 比如 tmux -c vim
  • -f file: 指定配置文件,默认~/.tmux.conf,或者/etc/tmux.conf
  • -L socket-name: 制定tmux session的名字
  • -u: 支持utf-8
  • -V: version


tmux的一些概念:

A session is a single collection of pseudo terminals under the management of tmux.  Each session has one or more
     windows linked to it.  A window occupies the entire screen and may be split into rectangular panes, each of
     which is a separate pseudo terminal (the pty(4) manual page documents the technical details of pseudo termi‐
     nals).  Any number of tmux instances may connect to the same session, and any number of windows may be present
     in the same session.  Once all sessions are killed, tmux exits.


session: 会话,一个服务器可以包含多个session
window: 窗口,一个session可以包含多个window
pane: 面板,一个window可以包含多个pane

tmux 配置:
tmux默认的bind-key是ctrl + b,可以修改为习惯的ctrl+a:
set -g prefix ^a
unbind ^b
bind a send-prefix

设置之后,ctrl+a+a可以在terminal中将光标一到行首


set-option -g display-time 4000                                                 
set-option -g status-keys vi                                                    
set-window-option -g mode-keys vi                                               
                                                                                
# set default bind-key to ctrl + a                                              
set-option -g prefix C-a                                                        
unbind-key C-b                                                                  
bind-key C-a send-prefix                                                        
                                                                                
# unbind '"'                                                                    
bind - splitw -v # 分割成上下两个窗口                                           
# unbind %                                                                      
bind | splitw -h # 分割成左右两个窗口                                           
                                                                                
bind k selectp -U # 选择上窗格                                                  
bind j selectp -D # 选择下窗格                                                  
bind h selectp -L # 选择左窗格                                                  
bind l selectp -R # 选择右窗格                                                  
                                                                                
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 ^u swapp -U # 与上窗格交换 Ctrl-u                                          
bind ^d swapp -D # 与下窗格交换 Ctrl-d                                      
                                                                                
                                                                                
bind m command-prompt "splitw -h 'exec man %%'"   #  m: 在新的panel打开man                              
                                                                                
                                                                                
#定制状态行                                                                     
#状态行左边默认就很好了,我对右边定制了一下,显示 uptime 和 loadavg:           
                                                                                
#set -g status-right "#[fg=green]#(uptime.pl)#[default] • #[fg=green]#(cut -d ' ' -f 1-3 /proc/loadavg)#[default]"
                                                                                
# 下面两行设置状态行的背景和前景色:                                             
set -g status-bg black                                                          
set -g status-fg yellow                                                         
                                                                                
#默认启动应用                                                                   
#当 tmux 启动时,可以默认启动一些应用:                                         
#new -s work  # 新建名为 work 的会话,并启动 mutt                               
#neww rtorrent # 启动 rtorrent                                                  
#neww vim # 启动 vim                                                            
#neww sh                                                                        
#selectw -t 1 # 默认选择标号为1的窗口



其他一些操作:

  • ctrl-b + ,: 更改window的名字
  • ctrl-b + o: 切换当前window中的panel
  • ctrl-b + w: 列出所有window并选择
  • ctrl-b + |: 分屏,两列
  • ctrl-b + -: 分屏,两行
  • ctrl-b + m: 输入命令,回车,新开一个panel查看其man手册
  • ctrl-b + ctrl + u: 按住ctrl同时按u,对换上下两个panel的位置
  • ctrl-b + ctrl - d: 同上,对换上下两个panel的位置
  • ctrl-b + { j, k, l, ;}: 切换panel
  • ctrl-b + J: 当前panel往下增加区域
  • ctrl-b + K: 当前panel往上增加区域
  • ctrl-b + H: 往左
  • ctrl-b + L: 往右


以后呢,就愉快的用tmux了,暂时不用screen了~
分享到:
评论

相关推荐

    SSH学习笔记6 SSH学习笔记6

    SSH的学习笔记通常涵盖以下几个主要方面: 1. **安装与配置**:在不同的操作系统(如Linux、macOS或Windows)上安装SSH客户端和服务端软件,例如OpenSSH。配置SSH服务,包括修改`sshd_config`文件以设置端口号、...

    ssh学习笔记ssh学习笔记

    本笔记将深入探讨SSH的基础知识、配置、安全性和常见用法。 一、SSH基础 SSH主要功能是为用户提供加密的网络服务,如远程登录、命令执行和文件传输。它通过公钥加密技术保证通信过程中的数据安全性,防止中间人攻击...

    oh-my-linux-env:为了创建一个高效Linux开发人员环境,它是一本用于快速自定义和学习zsh,bash,nano,tmux和各种工具的“技巧与诀窍”的手册。 快速安装和配置所需的开发工具

    练习和签到行之有效的方法在开发人员生产力的背景下,了解Linux的深度,shell,各种开发工具功能捕获“向上n跑步”和“提示n技巧”以及学习笔记 :rocket: 何时使用管理针对zsh,bash,nano,tmux配置的个人定制,以...

    linux:与Linux相关的dotfile,脚本,注释

    目前持有我在bash和Linux上的综合笔记我已将有关vim的注释分离为 并将关于tmux的笔记转换为 剧本 包含我复制或编写的有趣的脚本。 该目录将导出到我的路径,以使它们可从我的shell执行。 点文件 存储我最相关的配置...

    dotfiles: Ninrod的锐化dotfiles for emacs, vim, zsh, tmux。

    在Ninrod的dotfiles中,他的emacs配置可能包含了各种插件和自定义快捷键,比如 Evil 模式(让Vim用户在Emacs中也能使用熟悉的键绑定),OrgMode(用于任务管理、笔记和文档编写)等,以及可能的自动补全和代码高亮...

    Notes

    注意事项 算法文件 文件中主要存放各种算法的笔记 书签文件 主要存放各种书籍的读书笔记 深度学习文件 ...主要存放Linux的学习笔记 Python 主要存放python学习笔记 Tmux 其他 主要存放其他类型的笔记,类别文件

    ssh自学笔记

    6. **SSH会话管理**:了解如何使用`screen`或`tmux`进行多会话管理,即使在断开连接后也能保持会话的活跃。 7. **安全性最佳实践**:学习SSH的安全配置,如定期更换密钥,限制SSH版本,禁用密码认证,以及使用...

    点文件:Gerard Braad的点文件; 使用Git,GNU存放和Ansible

    杰拉德·布拉德(Gerard Braad)的dotfiles using Git, GNU stow (and Ansible) 不要直接使用它,而要参与其中并从中学习。 我之所以分享它,是因为我对移动tarball感到沮丧(并且害怕失去它)。 最终在我的笔记本...

    点文件

    它集成了许多现代编辑器的功能,如 lsp-mode(语言服务器协议)、org-mode(组织和笔记)、magit(Git 集成)等。Doom Emacs 使用 Evil 模式,让 Vim 用户在 Emacs 中也能得到类似 Vim 的键绑定和操作习惯。 4. **...

    vim-classes:我的vim培训中的课程笔记

    Vim,全称Vi IMproved,是一款强大的文本编辑器,深受程序员、系统管理员以及热衷于命令行操作的用户喜爱。...无论你是初学者还是经验丰富的Vim用户,这份笔记都是一份宝贵的资源,值得你花时间去探索和学习。

    dotfiles:我的个人appenv配置和dotfiles

    lytedev的dotfile 我的各种配置文件。 不要直接使用它们,只要取自己喜欢的东西... 学习使用journalctl 固定桌面上的sway工作区? Neovim LSP 移至NixOS(WIP)还是Guix? 声明式就是未来! 点文件中更好/更安全的远程

    3.FRP内网穿透教程1

    标题中的“FRP内网穿透教程1”指的是Fast Reverse Proxy (FRP)的使用教程,这是一种网络...这对于需要在公网访问内网服务的用户非常有用,无论是个人开发者还是企业运维人员,都能从这个教程中学习到实用的技术知识。

    .dotfiles:Kuhy的识字点文件

    这个项目可以帮助其他用户了解和学习Kuhy的个性化工作环境,也可以被用作模板来构建自己的工作流。 1. **Git配置**: - `gitconfig`文件包含了Git的用户信息、别名、颜色设定等,这些设置可以提升Git操作的效率和...

    geeks文档.doc

    然而,对于新手来说,它的学习曲线可能较陡峭。Vim Clutch 是 Vim 的一个扩展,旨在简化在不同模式间切换的过程,通过模拟物理键盘上的“离合器”功能,用户只需按下特定键即可轻松进出插入模式,大大提升了工作效率...

    dotfiles

    在IT领域,尤其是Unix/Linux和macOS系统中,...总的来说,dotfiles是个性化和优化开发者工作环境的关键,通过共享和学习他人的dotfiles,我们可以借鉴他们的经验,提高工作效率,并享受定制化的工作环境带来的便利。

    .dotfiles:mi3点文件

    6. `.tmux.conf`: tmux 分屏终端管理器的配置,用于设置快捷键和主题。 7. `.screenrc`: 对于使用 screen 的用户,这个文件可以定制屏幕会话的行为。 8. `.inputrc`: GNU Readline 库的配置,影响使用 Readline 的...

    dotfiles:开发环境的配置管理

    "笔记"部分可能是指有关安装过程或配置的额外信息,而"历史记录可以在找到"这句话可能是不完整的,通常在这种情况下,历史记录可能会被存储在一个特定的日志文件或版本控制系统(如Git)中,以便追踪和回顾更改。...

    dotfiles:我的配置文件

    文本编辑器: 学习曲线可能很陡,但是对我而言,投资回报几乎是即时的。 对于希望实现这一目标的任何人,我建议阅读Steve Losh的博客文章的StackOverflow用户Jim Jim的 。 Colorscheme: 高对比度,深色背景...

Global site tag (gtag.js) - Google Analytics