11月了,没想到10月份竟然木有写博客。这几天在迁移服务器,时间不赶,就慢慢弄,顺便记录一下一些技巧。
首先,远程ssh登录到服务器,可能中途会出现网络断掉或者超时,这时候ssh里面就打不了字了,就只能关闭再重新连接。如果我们用vim编辑一个文件到了一半的话,就会蛋疼地多了一个swp。那么如果我们希望在重新连接回去的时候,可以回到之前的工作状态,我们应该怎么办呢?答案是借助screen。
对于screen的使用就不再罗嗦了。具体可以参看后面的参考资料中提供的链接。
一些技巧
下面可能会与诸位使用习惯有所冲突,请见谅。
把ctrl+a还给我
首先,screen的命令的前缀是ctrl+a,进入screen后,ctrl+a就成了命令前缀了。我经常使用ctrl+a跳到行首,ctrl+e跳到行尾,所以需要修改一下前缀,否则ctrl+a跳到行首这个习惯就得改了。我们在家目录下面创建一个文件~/.screenrc。然后在里面写上
1 | escape ^Zz |
然后就把前缀改成ctrl+z了,如果需要暂停程序的话,就用ctrl+z z来暂停。这样ctrl+a就回来了。
偷懒
1 | alias sc='screen' |
输入source ~/.bashrc 就可以用sc来代替screen了。
为了解决断开连接恢复工作状态的问题,我们假定我们的一个窗口叫normaltask。
然后每次登录的时候,输入 scb,就可以恢复到normaltask这个常用窗口之前的任务了。是不是很方便呢?
补全
在screen下面的补全很有问题,和bash有明显的区别,只能补全文件名,对于命令的参数的补全就无法补全了。因为screen默认貌似是使用未登录的shell。
所以,我们在**~/.screenrc**加上一句:
1 | shell -$SHELL |
就可以使用bash的补全了。