Tag: tips

grep匹配tab

May 18th, 2010

今天有同学问如何用 grep 匹配 tab,想到这么几个方法:

  • 在匹配模式里写上一个真正的 tab (bash下):
    • grep foo$'\t'bar …
    • [ESC] tab OR C-v tab
  • 用 awk:awk '/\t/' …
  • 有支持 PCRE 的 grep (编译时没有打开 --disable-perl-regexp),加上开关 -P : grep –P '\t' …
  • 换个真正的工具:perl

Tags: , , ,
Posted in tech | 1 Comment »

当前窗口最小化的快捷键

January 4th, 2010

Windows 下面有最小化所有窗口的快捷键, 但默认没有最小化当前窗口的快捷键. 解决方法(之一)是使用仅16.5k的神器 HoeKey.

安装运行 HoeKey 后, 按Win+Q呼出配置界面, 选择编辑配置文件, 加入一条:

~0=Msg||274|61472

这样就可以用快捷键 Win+0 来最小化当前窗口了.

同理可以写 ~9=Msg||274|61488 来用 Win+9 最大化当前窗口.

更多自定义触发快捷键以及 HoeKey 功能, 见帮助文档以及MSDN.

Tags: , , , , ,
Posted in tech | 4 Comments »

通过ssh使用svn

October 18th, 2008

通过ssh来存取svn仓库自然是很方便的,不用架设webdav服务器,不用多侦听一个端口等等,一般的可以这样:

svn co svn+ssh://host/path/to/svn/repos

如果ssh不工作在默认的22端口上,如2222,有两个办法解决。

设置SVN_SSH变量:

export SVN_SSH="ssh -p 2222"

编辑~/.subversion/config,其中有tunnel一节,加入:

proa = ssh -p 2222

然后就可以这样用了:

svn svn+proa://host/path/to/svn/repos

如果遇到错误"bash: svnserve: command not found",是因为svn调用ssh后得到是非登陆shell。可以试着在放置svn仓库的服务器上加入相关路径到.bashrc,或者给svnserve在/usr/bin下面加个符号链接,确保非登陆shell可以找到svnserve。也可以搞的很复杂:

生成一个新的ssh密钥对,用下面的格式把公钥放到svn服务器上

command="/full/path/to/svnserve -t" TYPE KEY COMMENT

客户机上安上面指定端口的方法指定svn用特定的私钥

export SVN_SSH="ssh -p 2222 -i /home/dude/.ssh/id_svn_only"

这样svn在通过ssh隧道连接时就可以启动svnserve了。

大约需要的人早找到了英文的资料,不过我想用中文写出还是有人会看的。为什么还要用svn这么土的东西?当然是历史原因了。

Tags: , , ,
Posted in tech | 3 Comments »

SSH登陆,用XShell

August 25th, 2008

我觉得XShell是Windows上目前最好的终端模拟器,但似乎大家只看到SecureCRT,很少人提XShell。

XShell vs. SecureCRT

  • Screen下的会话不会闪屏,而且可以回滚,这个功能太无敌了
  • Script的执行顺序可以调整,SecureCRT的这个功能实在太呆
  • 可以同时发送指令到多个session,这个也不错
  • 键盘映射的兼容性要好一些,不用去自己改映射
  • 可以展现tunnel等的情况
  • 支持布局切换,像gnome-terminal
  • 缺憾是对Unicode制表符支持不够好,内置的sftp不怎么好使(该公司有另外的xftp)
  • 许可相对便宜,对个人、教育用户是免费的!

XShell vs. Putty & Pietty

  • 支持ZModem协议,putty虽有leputty据说可以实现,但我一直没成功 :(
  • Session保存在文件中而非注册表,管理方便
  • 支持tab、自定义脚本、保存密码、多机管理…

当然putty是自由软件,和商用的XShell比较不是很合适。putty也有很多插件可以实现部分有缺憾的功能,用起来会麻烦一些就是了。我个人平常还是以putty为主,功能够用,速度飞快。大量机器的管理还是XShell合适。

注意,XShell在商业环境使用下是需要买许可的。

 

update:

SecureCRT 使用screen时屏幕闪烁,关闭 visual bell 就好了,putty 也是如此:

$ cat >> ~/.screenrc
# turn visual bell off
vbell off

Tags: ,
Posted in tech | 6 Comments »

Launchy的转换时间戳插件

August 9th, 2008

看开幕式,入场式时段很无聊,决定冒充一下程序员,给 Launchy 写个小插件,让它能转换时间戳。

搞阿搞,终于搞出来鸟,个中艰险,按下不表。

Launchy是我必用的工具,转换时间戳也老要干,呃,还是很有用的。如图:

2008-08-09_222104

我用的是比较老的Launchy 1.25,我也推荐用这个版本的,2.0为移植用了QT,大了不少。

下载: LaunchyTimestampPlugin.7z

Tags: , ,
Posted in tech | 1 Comment »

插入水平线的Windows Live Writer插件

March 10th, 2008

这是个无聊时练习C#的小东西,可以在内文中插入一个水平线,其实就是加了个<hr />。还是有点小用的说,至少我用~

小小<hr />的左对齐也有麻烦的浏览器兼容问题:align="left"只在ie和ff下有用,Live Write自动会放到div中,而opera需要加上test-align="left"。

下载位置(附源码):

纳米盘:InsertHr.zip

我的blog:InsertHr.zip


参考:http://livesino.net/archives/446.live

Tags: , ,
Posted in tech | No Comments »

Gmail Mobile App在WM6下全屏

February 9th, 2008

Gmail Mobile App是我在手机上必装的程序,WM6自带的邮件客户端在当下的无线网络中还是不如它爽利。

换了多普达C730w之后,发现内置的Java虚拟机JMM无法全屏,遂换了修改版JMM,又发现会把屏幕最下方吃掉一坨。现在使用JBed,对OperaMiniTalkonaut(一个多协议IM工具)的支持都很好,可以全屏,速度不错。缺憾就是在Gmail中会出来虚拟机自己的菜单栏,挡掉Gmail自己的。图片可以参见这个帖子。网上有人针对竖屏的机器进行了修改,解决了竖屏QVGA下面JBed的问题,看来这个问题是可以解决的。

首先使用JavaMagic这个修改程序,设置分辨率为横屏QVGA的320*240,强制全屏,不启用字体替换、键码转换。处理jar文件后,安装测试,还算不错,可以全屏了,菜单也可以正确弹出,但是虚拟机的菜单有时仍然会挡出一部分内容。

继续努力,在网上苦苦搜索小时有余,终于得到一法。对所谓的第二jad文件进行编辑,此文件的文件名中存在"[Ar]"字样,使用文本编辑器在jad文件最后加上:

UseNativeCommands: false
ReverseSoftkeys: true
UseNativeMenus: false

基本上意思是不使用系统原生菜单、命令,翻转两个软键(很有用)。安装测试,成功!截图如下:

Screen002

这个修改方法应该也可以解决其他手机Java程序全屏的问题。

ps:这个blog终于有pr了: pr=0 :)

Tags: , , , ,
Posted in tech | 2 Comments »

Ghost克隆硬盘后无法引导

February 1st, 2008

自打购入了移动硬盘,就一直打着里面三星160G的主意:和笔记本上的80G交换一下。想来这不是很复杂的工作,以前从40g换到80g就挺容易。高高兴兴地用DiskGenius将各个分区复制到移动硬盘上,换了硬盘到机器上,却无法引导系统。现象是开机出现thinkpad logo的post画面之后,就黑屏只有光标在左上角闪动。

按说机器对大硬盘支持没有问题。怀疑C区没有设为活动或者引导区没有复制过去,试着通过故障恢复台进行fixboot/fixmbr,没戏。想覆盖安装一遍Windows,发现带NTFS DOS支持的DOS7.1认为硬盘空间不足。

幸好专门网的网友给出了解决方案:必须在PE环境下克隆引导分区,硬盘必须接主机IDE口,放在硬盘盒是不行的。

刻了张PE盘,重新恢复了一遍C区,重启,成功!三星的这块HM160JC,性能虽然一般,却是相当的安静,和之前那块TOSHIBA比,简直可以说是没有声音。

问题的原因我还是不清楚。另外还有一个诡异的问题,联想的一块装SATA盘的可引导移动硬盘,如果直接插在机器上,按F12,死活不能出现在设备选单里,必须很暴力地热插拔一次才能被认出来。难道这块硬盘有自虐倾向?另外,如果新硬盘的分区情况和原硬盘不同,Windows很有可能不能正确挂载分区,进安全模式到磁盘管理里面手工指派一下盘符就好了。

另外,这块HM160JC居然在Thinkpad的APS支持范围内,省却了满世界找微码的麻烦。

Tags: , , ,
Posted in tech | No Comments »

Previous page