Hen*_*y B 106 gnu-screen
人们的想法不仅仅是你需要了解的关于优秀屏幕实用程序的基本内容,还有你认为值得从头开始教某人,初学者的事情吗?
我刚刚向Screen介绍了一位朋友,他们很难适应它.因此,用于记住绑定等的类比和方便技巧将是非常棒的.
Gre*_*ill 91
我已经使用屏幕超过10年,可能使用不到一半的功能.因此,没有必要立即学习它的所有功能(我不建议尝试).我的日常命令是:
^A ^W - window list, where am I
^A ^C - create new window
^A space - next window
^A p - previous window
^A ^A - switch to previous screen (toggle)
^A [0-9] - go to window [0-9]
^A esc - copy mode, which I use for scrollback
Run Code Online (Sandbox Code Playgroud)
我想就是这样.我有时使用分屏功能,但肯定不是每天.另一个提示是,如果屏幕似乎已被锁定,因为你意外地击中了一些随机键组合,请同时执行^ Q和^ A ^ Q以解锁它.
Roe*_*oel 36
直到我找到一种方法在屏幕底部设置一个"状态栏",显示你正在使用的"标签"或"虚拟屏幕"以及其他哪些屏幕,我才能习惯屏幕.这是我的设置:
[roel@roel ~]$ cat .screenrc
# Here comes the pain...
caption always "%{=b dw}:%{-b dw}:%{=b dk}[ %{-b dw}%{-b dg}$USER%{-b dw}@%{-b dg}%H %{=b dk}] [ %= %?%{-b dg}%-Lw%?%{+b dk}(%{+b dw}%n:%t%{+b dk})%?(%u)%?%{-b dw}%?%{-b dg}%+Lw%? %{=b dk}]%{-b dw}:%{+b dw}:"
backtick 2 5 5 $HOME/scripts/meminfo
hardstatus alwayslastline "%{+b dw}:%{-b dw}:%{+b dk}[%{-b dg} %0C:%s%a %{=b dk}]-[ %{-b dw}Load%{+b dk}:%{-b dg}%l %{+b dk}] [%{-b dg}%2`%{+b dk}] %=[ %{-b dg}%1`%{=b dk} ]%{-b dw}:%{+b dw}:%<"
sorendition "-b dw"
[roel@roel ~]$ cat ~/scripts/meminfo
#!/bin/sh
RAM=`cat /proc/meminfo | grep "MemFree" | awk -F" " '{print $2}'`
SWAP=`cat /proc/meminfo | grep "SwapFree" | awk -F" " '{print $2}'`
echo -n "${RAM}kb/ram ${SWAP}kb/swap"
[roel@roel ~]$
Run Code Online (Sandbox Code Playgroud)
agn*_*nul 26
如果你的朋友习惯于^A
在bash 中按下该行的开头,他/她会有一些惊喜,因为^A
它是屏幕命令键绑定.通常我最终得到一个冻结的屏幕,可能是因为我按下了一些随机键^A
:-)
在那些情况下,我试试
^A s
并^A q
阻止/取消阻止终端滚动
解决这个问题.要转到屏幕内一行的开头,键序列是^A a
And*_*son 12
您可以将ctrl-A中的转义键重新映射为您选择的另一个键,因此如果您将其用于其他内容,例如在bash中转到行的开头,则只需要在〜中添加一行〜 /.screenrc文件.要使它^ b或^ B使用:
escape ^bB
Run Code Online (Sandbox Code Playgroud)
从命令行,使用名称会话来控制多个会话.我为每个任务使用一个会话,每个会话有多个选项卡:
screen -ls lists your current screen sessions screen -S <name> creates a new screen session called name screen -r <name> connects to the named screen sessions
使用屏幕时,您只需要几个命令:
^A c create a new shell ^A [0-9] switch shell ^A k kill the current shell ^A d disconnect from screen ^A ? show the help
一个优秀的快速参考,可以发现在这里.值得收藏.
有些熟悉屏幕的技巧,但是他们往往不记得他们在手册页中读到的内容:
.screenrc
文件中尝试这些:Run Code Online (Sandbox Code Playgroud)bind ! select 11 bind @ select 12 bind \# select 13 bind $ select 14 bind % select 15 bind \^ select 16 bind & select 17 bind * select 18 bind ( select 19 bind ) select 10
为Windows 10到19 分配ctrl+ a shift+ 0 through 9.
ctrl+ a是一个特殊的键.
ctrl+ a d- [d] etach,在后台留下节目(irssi?),回家.
ctrl+ a c[c]创建一个新窗口ctrl+ a 0-9按窗口 在窗口之间切换
screen -r - 返回分离会话
这涵盖了90%的用例.不要试图一次显示所有功能.
Ctrl+ A是基本命令
Ctrl+ A N=转到***N***ext屏幕
Ctrl+ A P=转到***P***revious屏幕
Ctrl+ A C=***C***创建新屏幕
Ctrl+ A D=***D***etach你的屏幕
我"必须"添加这个:添加
bind s
Run Code Online (Sandbox Code Playgroud)
对你来说.screenrc
,如果你 - 像我一样 - 以前使用分割窗口,就像C-a S
拆分实际窗口一样,但C-a s
冻结它.所以我只是禁用了冻结快捷方式.