Linux中的Screen命令使用技巧详解
Linux的screen命令不错,习惯了你会觉得它比windows的任务栏好用多了。下面是我的.screenrc,仅供参考。
# # 启动时不显示欢迎屏幕 # 定义screen的功能键为Ctrl-Z。向终端输入Ctrl-Z时应按 Ctrl-Z z。 # 屏幕缓冲区 1024 行。 # 在最下一行显示窗口列表和时钟 # 关闭错误提示 # 按 Ctrl-Z w 或 Ctrl-Z Ctrl-W 显示窗口列表 |
常用快捷键
注:这些快捷键都需要在按完 escape 键之后使用。默认的escape键是 Ctrl-A,上面贴出的 .screenrc 中将其改成了 Ctrl-Z。例如 d,实际操作时应当按 Ctrl-Z d。
快捷键 | 功能 |
d | 中断当前会话,下次可以用 screen -r 命令恢复 |
c | 开新窗口 |
0-9数字 | 在窗口0-窗口9之间迅速切换 |
n | 下一个窗口 |
p | 上一个窗口 |
S | 分割屏幕 |
TAB | 在分割的屏幕之间切换 |
X | 关闭分割出的屏幕 |
[ | 进入复制模式,用hjkl移动光标,空格选中开始点,再次按空格选择结束点,进行复制 |
] | 粘贴 |
? | 帮助 |
: | 进入screen的命令行 |
另外要提到的几个常用技巧:
重复 escape 键可以在当前窗口与上一个窗口之间迅速切换。例如从窗口1按^Z3切换到窗口3,之后可以按^Z^Z在窗口1和3之间切换。
窗口分割的用法:首先按^ZS(S要大写)进行分割,然后用^Z<TAB>切换到分割出的新屏幕,再用^Z<数字>在新屏幕内切换窗口。结束分割可以用^ZX。
翻页:用了screen之后就不能用平常的 Shift-PageUp 和 Shift-PageDown 来翻页。可以按 ^Z[ 进入复制模式,即可利用与 vi 相同的快捷键来翻页查看历史。最后按Esc取消复制模式。
关于 escape 键的选择:
默认的Ctrl-A与vi的增1功能冲突。如果你不幸习惯了Ctrl-A,那么当你在没有screen的环境下使用vim时,你会在不经意之间按下Ctrl-A而改变附近的数字。因此最好改成别的键。
常用的screen快捷键都在左手,因此escape应当放在键盘的左面三列。Ctrl-Q和Ctrl-S被终端使用无法绑定,Ctrl-` screen不支持,Ctrl-W与vim的切换窗口命令冲突,Ctrl-D与vim的翻页冲突, Ctrl-X与vim的减1功能冲突,Ctrl-E与vim的滚屏冲突,Ctrl-C为很常用的中止程序。因此只能用Ctrl-Z了。Ctrl-Z用于暂停程序,不常用,可以将其设置为screen的escape键。需要暂停程序时按 Ctrl-Z z 即可