ZSH把命令结果显示在screen的分割窗口中

一直懒得写这个,一个挺纠结的功能。正好有人让我测试Archlinux下octopress的语法高亮,所以干脆就写了。

这东西是用来在screen里面开一个split的窗口,用以显示当前命令的结果的。比如说想开个man,对照着看,或者说tail -f一个log文件的时候,应该比较合适。开了新窗之后,焦点保留在原来的窗口,可以用c-a c-i跳转到新窗口,这时候按下任意键新的分割窗口就关掉。这是从screen的源代码包里面看到的一过小tips。

tmux试用感想

不止听一个人在irc说tmux如何好如何好了,只不过说这些话的人,没有一个是我所熟知的朋友。即使他们全都是小白,三人成虎也几乎让我相信了tmux可以在hardstatus里面显示中文。一直懒得尝试tmux,一方面因为我的screenrc已经相当好了,另一方面对于定制下hardstatus都要老多行代码的设计不是太喜欢。不过心里总是痒痒,幻想着一朝配置好了tmux,就不用再费心了。

前些时候终于下定了决心来配一把,目标是达到跟我的screenrc效果一致。我的screen版本是4.00.03(用version命令查询),tmux的版本是1.3(用server-info查询)。

操作screen里面的screen

以前一直对这个比较闹心,screen里面ssh到别的机器,又挂了screen,结果就不知道怎么切换远程screen的窗口了。尽管早就知道可以更改远程的escape定义,但是总觉得这样不是个好办法--我哪里记得清哪个screen用哪个escape阿,而且,这样也改变了个人的按键习惯,不舒服的。

今天突然想起来,就查了下,原来要给里面的screen发操作,^A A就可以了。比如说要切换到里面的第0个窗口,那就是^A A 0,简单。

在screen里面改变光标颜色

如果你用vim和xterm,在vim可以依据是插入模式还是命令模式改变光标颜色,只需要在 .vimrc里面添加:

:silent !echo -ne "\e]12;IndianRed2\007"
let &t_SI = "\e]12;RoyalBlue1\007"
let &t_EI = "\e]12;IndianRed2\007"
autocmd VimLeave * :!echo -ne "\e]12;green\007"

第一句是在进入vim的时候,把光标变成红的;第二句定义进入插入模式,光标变成蓝色的 ;第三句的意思是插入模式结束,光标变回红的;第四句,设定vim退出的时候,光标变成 绿色。