tmux使用技巧

tmux使用技巧

  1. 常用配置

    #重新定义prefix.

    set -g prefix C-l #注意这里不能使用C-; tmux中C-;和<esc>是一样的

    bind-key C-l send-prefix #设置发送prefix

    ubind C-b #取消快捷键绑定,这里是取消以前的快捷键绑定.

    #绑定使用vim类似的hjkl进行光标在panes之间的移动.

    bind-key k select-pane -U

    bind-key j select-pane -D

    bind-key h select-pane -L

    bind-key l select-pane -R

    #配置回滚的行数限制

    set -g history-limit 10000

    #设置可以使用Ctrl + PageUp|PageDown 进行控制台的滚动

    set -g terminal-overrides ‘xterm*:smcup@:rmcup@’

    #配置使用的teriminal,和颜色设置有关,一般不用设置的

    set-options -g default-shell /bin/zsh

    #设置复制模式,空格开始,Enter结束

    setw -g mode-keys vi

    #设定窗口的起始序号

    set -g base-index 1

    #设定窗口的需要自动调整,否则会一致向下+1,只有设置了base-index 1才可以起效.

    set -g renumber-windows on

  2. 如何使用复制粘贴

    在tmux里,无法使用shift + pageup 和shift + pagedown 来上下滚动终端的cache屏幕,但是有跟好的办法,

    使用 prefix + [ 可以进入vim移动模式,可以使用vim键盘 hjkl和ctrl b ctrl f 来移动屏幕,也可以使用/ ? 和* 如果想要复制的话,可以使用 space 开始复制,使用 enter 结束复制, 回到tmux的命令输入状态,在这个状态,可以使用 prefix + ]来粘贴刚才复制的内容.

  3. 常用快捷键

    • prefix + ? 显示帮助,这个内容有点多,找个东西不方便,所有才有了这篇文章嘛

    • prefix + : (是冒号,这个设置和vim一样,只是输入的框跑到了tmux的状态栏),这个是命令输入模式,和在命令行

      运行 tmux {command} 是一样的,这些命令也可以在 prefix + ? 里面看看, 许多快捷键其实就是对应的这些命令.

      这里只需要写 {command} 不需要写 tmux的.常用命令如下:

      1. 分离终端,分离后回到shell界面,这个终端不会消失,可以通过 attach 粘帖 继续使用tmux控制那个终端.

        :detach

        或者使用 prefix + d

      2. 新建一个session,和分离终端是对应的,这里是在这个tmux实例中,弄出两个session,

        :new

        不能使用 :new session 那样会使一些版本的tmux直接退出. 使用 new-session 可以,使用 new-window建立一个新的window, 如果想让新的tmux使用新的根目录,使用 new-session -c “{dir}” .使用当前pane的目录作为新的session的根目录 new-session -c “#{pane_current_path}” -c 就是指定目录的参数 # 是在tmux中去变量的前缀.

    • prefix + d 返回到主shell,detach试的,不能在tmux里面再启用一个tmux,但是可以detach后,再起一个,使用

    • tmux attach 恢复到之前的detach的tmux,简写 tmux a 只能恢复到之前一个的tmux,如果多次使用了 prefix + d 后,只能使用入栈出栈的顺序进行操作了,不是很方便呢.

    # tmux attach进入一个session以后,可以通过 prefix + s 打出所有的session列表,进行选择,或者说用. prefix + (

    选择上一个,使用 prefix + ) 选择下一个.

    • prefix + s 这个就弥补了使用tmux attach操作detach session的缺陷,是使用列表的方式选择session,不管在那个终端运行的tmux都可以在列表里进行切换的,就是,没有名字的session很不容易找到想要的sesison.
    • prefix + $ 重命名session,有了这个就可以方便的查找session了.
    • prefix + space 这个嘛,比较麻烦,因为这个的作用再不同情形下是不一样的,只有一个窗格的正常键入命令的情形下是没有用的,使用 prefix + [ 进入复制和回滚模式下的时候, 再按下 space 的意思是开始复制,这是窗口可以显示选中状态,就像vim里按下了v,再按一下 space 取消复制,按下 Enter 结束复制,并回到正常输入窗口,复制选择过程中,可以使用 Ctrl + v 进入竖选模式进行选择 ,当有多个窗格的时候, prefix + space 的意思采用下一个布局,就是水平分割,竖直分割,水平主窗口,竖直主窗口,平铺轮流试试.
    • prefix + c 创建一个新窗口,新窗口立刻跑到前台,在一个tmux内可以建立很多窗口,窗口默认使用正在执行的程序的名字当作窗口的名字的,方便看.
    • prefix + ! 把当前的窗格变成新的窗口,这个窗口不是gnome的窗口,而是tmux内部的管理窗口,使用 prefix + w可以查看所有的窗口.
    • prefix + n 下一个窗口
    • prefix + p 上一个窗口
    • prefix + 0~9 直接选择所指定index的窗口.
    • prefix + ‘ 窗口太多了,使用0-9已经无法跳转到指定窗口了,那就使用这个把,这个是使用index直接跳转到指定的窗口的
    • prefix + , 修改当期窗口的名字,方便记忆啦,窗口哪买多,只用脑子肯定是不行的了.
    • prefix + w 窗口有名字了,可是使用 prefix + ‘ 又不能通过名字选择窗口,tmux满足你,使用 prefix + w可以使用列表的方式进行窗口选择.
    • prefix + ” 竖直平分窗口,分割开的窗格比较窄宽.
    • prefix + % 水平平分窗口,分割开的窗格比较细长.
    • prefix + o 跳转到另一个窗格
    • prefix + 上下左右 移动输入光标到临近的窗格.
    • prefix + C_方向键 这个是调整当期窗格的大小,一行一列为单位的.
    • prefix + M_方向键 这个也是调整窗格的大小,一五行为单位了.
    • prefix + { 置换窗格,把当期窗格和前一个窗格置换.
    • prefix + q 显示所有但前窗口内所有窗格的编号,方便直接跳转的.
    • prefix + } 置换窗格,把当前窗格和前一个窗格置换.
    • prefix + t 显示时钟,搞笑的吗??,用啥用?有啥用?
  4. 常用命令

    • 说明

      执行命令的方式 在命令行执行 tmux {comond} 进行执行; 在tmux的终端中,使用 prefix + : 在下方执行输入{commnd}; 在配置文件中,使用bind命令,绑定快捷键和命令之间的对应关系后,使用快捷键执行对应的命令.

    • 常用命令

      • list-keys 列出所有可以使用快捷键运行的命令.
      • list-commonds 列出所有的tmux命令及其参数.
      • info 列出所有session,window,pane的运行信息.
      • new -s session_name 创建一个session_name的tmux session.
      • attach -t {session_name} 重新启动{session_name}的tmux的session.
      • list-session / ls 列出所有的tmux的session.
      • kill-server 关闭tmux的服务器. 关闭所有的tmux的session.
  5. 有关tmux的working directory

    work directory是在tmux new-window的时候,默认进入的目录.

    working directory 是tmux的一个内部记录,这个记录,是在session建立的时候使用-c参数指定的,或者attach的时候使用-c参数指定,如果不指定,默认使用原来的working drictory.

    如何修改

    这个嘛,在进入session以后是不能修改的,可是,我们可以再次进入修改,使用 :list-session 列出所有的session,然后,使用 :attach-session -t {session name} -c {新的working directory} 进行重新指定working directory操作.

    技巧 : 使用 :attach {留空} -c {新目录} 直接attach当前session指定目录.attach-session简写attach,attach简写t.可以使用 “#{pane_current_path}” 得到当前pane使用的目录.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值