GNU Screen 笔记

Screen 是一个及其强大的好工具,可以讲终端垂直水平分割为多个子窗口,从而提高工作效率。

基本设定

-h lines 设定回滚历史缓冲区行数
-ls 列出所有 session
-S sockname 为 session 起一个名字
-wipe 清空已结束的 session
-r [session] 恢复 session
-d -m 开启一个一开始就断开的会话
-e^Bb 指定命令符

常用指令

c-a ? 查看命令
c-a c 新建窗口
c-a c-a 切换前后窗口
c-a 0..9 进入指定窗口
c-a d 断开会话
c-a A 为窗口起名
c-a w 查看所有窗口
c-a : 进入命令模式
c-a S 水平分割
c-a  
c-a X 关闭当前区域
c-a [ 进入复制模式
c-a ] 粘贴
c-a { or } 复制粘贴上一条命令
c-a * 显示所有当前连接的会话

常用命令

hardcopy 将当前界面写入 hardcopy.n 文件
split 水平分割
split -v 垂直分割
remove 移除当前窗口
only 仅保留当前窗口
resize +N  
resize -N  
resize N  
resize = 调整窗口大小
scrollback num 设置回滚行数

复制模式

标记

复制的范围由两个标记决定。可用标记包括:

  • 空格
  • y或Y
  • w或W

使用技巧

  • 使用 x 来重新设定第一个标记。
  • 标记后用 c 确定左边界,用 C 确定右边界,可以选取组快区域

screen.rc

绑定窗口移动:

bind h focus left
bind j focus down
bind k focus up
bind l focus right

设定256色:

attrcolor b ".I"
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
defbce on