February 2012 M T W T F S S « Jan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 -
新鲜出炉
雁过留声
- Ivy on 2012,魔都开年
- hzmangel on 2012,魔都开年
- Lena on 2012,魔都开年
- hzmangel on List all CVS tags
- OO on List all CVS tags
Tags
不明真相之围观
- Android中使用自定义Adapter - 3,829 views
- 让win下的vim支持非等宽字体 - 2,404 views
- C++中静态成员函数的声明及定义 - 1,331 views
- python中的静态成员函数 - 1,290 views
- VIM LaTeX Suite - 1,285 views
- List的Iterator - 1,065 views
- Pietty + Xming,在Win下用X - 1,006 views
- 给iphone传电子书 - 942 views
- AutoHotKey 设置窗口在最前 - 748 views
- 用AutoHotKey窗口平分屏幕 - 709 views
归个类
回忆
- January 2012 (1)
- December 2011 (1)
- November 2011 (1)
- September 2011 (1)
- July 2011 (2)
- June 2011 (1)
- May 2011 (2)
- April 2011 (1)
- March 2011 (3)
- January 2011 (2)
- December 2010 (4)
- October 2010 (2)
- September 2010 (2)
- August 2010 (1)
- July 2010 (3)
- June 2010 (3)
- May 2010 (2)
- March 2010 (5)
- January 2010 (7)
- December 2009 (5)
- November 2009 (2)
- October 2009 (1)
- September 2009 (5)
- August 2009 (3)
- June 2009 (1)
- May 2009 (4)
- April 2009 (2)
- March 2009 (1)
- February 2009 (3)
- January 2009 (3)
- December 2008 (6)
- November 2008 (14)
- October 2008 (5)
- September 2008 (11)
- August 2008 (8)
- July 2008 (9)
- June 2008 (21)
- May 2008 (17)
- April 2008 (17)
- March 2008 (15)
- February 2008 (1)
- January 2008 (3)
- December 2007 (1)
- October 2007 (12)
- September 2007 (8)
- August 2007 (9)
- June 2007 (8)
- May 2007 (10)
- April 2007 (3)
- November 2006 (5)
- October 2006 (2)
- September 2006 (16)
- August 2006 (13)
- July 2006 (4)
- June 2006 (1)
- April 2006 (1)
- March 2006 (6)
- February 2006 (1)
- January 2006 (3)
- December 2005 (6)
- November 2005 (15)
- October 2005 (12)
- September 2005 (1)
- June 2005 (4)
- May 2005 (12)
- April 2005 (16)
- March 2005 (6)
- January 2005 (13)
- December 2004 (3)
- November 2004 (8)
- October 2004 (13)
- September 2004 (13)
Tag Archives: tools
Merge Two Hg Repositories
最近在折腾手头上的小项目,发现有一个工程已经建了Hg的版本库,但是想把它给丢到现有的版本库中以方便管理。假设现在用的版本库叫A,需要被merge过来的版本库叫B,于是有: A: hg pull –f <repo B> A: hg merge A: hg ci 关键的地方是在那个-f处,如果没有加这个参数会报两个版本库不同源而不让你这么折腾。(via)
Simple Process with Mercurial Build-in Server
在putty里面用vim用够了,于是在远端机上弄了个Hg的版本库,平时在本机做开发,然后写完直接push到远端编译。不想折腾太多的东西,所以就用的是Hg自带的web服务器。首先在远端某个目录里面新建一个Hg版本库 hg init 然后就可以在远端开服务了,为了少惹麻烦,用了个3456的端口 hg serve -p3456 然后在本地就可以找个目录直接把那边的东西拷过来了 hg clone <host> <local_dir> 使用hg clone的好处是在目录的.hg/hgrc文件中已经存放有默认提交/连接的地址,以后在使用hg pull或者hg push时不需要额外提供地址了。 [paths] default = <host>:<port> 在本地做过修改后,需要check in到版本库中才能成功的被push到远端。如果不加-m参数则会弹出一个编辑器让你输入log hg ci <-m “log message”> 在push的时候需要注意一个问题。为了安全起见,在默认情况下,Hg对于push是有一些限制的,首先需要SSL,其次需要提交改动的用户有权限。不过由于是自己使用嘛,所以可以在Hg的配置文件中把这两个限制取消,即在hgrc中加入以下几行 [web] push_ssl = false allow_push = * 根据自己的需求确定这几行加的位置(全局的配置还是某项目相关的配置)。添加过后即可在本地push改动到远端了。如果那个url已经添加到hgrc文件中,则不需要指定url参数(嗯,适合我这种懒人)。 hg push <url> 在远端此时只是把改动更新到版本库中,并没有把改动真正放到代码中,所以还要在远端运行一下更新命令 … Continue reading
Mask Mouse on Linux
最近折腾个东西,需要把鼠标弄掉,一是不显示,二是对点击事件没有响应。在网上找了找,用了个比较ugly的方法: 不显示 一般的发行版都能找到一个叫unclutter的软件包,这玩意的功能就是在你idle多少秒后把鼠标从屏幕上抹掉,具体效果就像mplayer放电影里让鼠标不见的那样。如果把idle设成0(unclutter –idle 0),那么鼠标就会从屏幕上消失了,不过在移动的过程中,还是能偶尔看到那熟悉的白色箭头 屏蔽响应事件 虽然鼠标不显示了,但是点击事件还是没有屏蔽掉,就是说你去点鼠标,还会是和原来的情况一样。本来想找HAL去直接禁用这个设备,但是在乱逛的过程中找到了xmodmap这个东西,然后也顺便看到了怎么用它去折腾鼠标,就用了。 这个命令可以用来把鼠标的键重新映射到新的行为上去,在它自己的man page里面,可以看到使用 xmodmap -e "pointer = 3 2 1" 可以让鼠标左右键对调,其实就是让按左键的响应从1变成3,而右键的从3变成1。执行下面这条命令 xmodmap -e "pointer = 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1" 把前面的几个按键都给映射到高位上去,这样一般的程序就不会去处理这些个大的响应事件,于是乎就算是屏蔽了事件吧。 就这两条命令,具体的没的细究,有空再看吧。
Vim居中光标所在行
曾经用Emacs的时候发现那个Ctrl-L特别好用,看到光标在下面了按一下就把那行提到屏幕中间来了,于是想在vim中找类似的功能,想想也该有嘛,所以就找到了,而且有三条~ zz: 将当前行置于屏幕中间(不是转载…) zt: 将当前行置于屏幕顶端(不是猪头~) zb:底端啦~ 还有一条就是移动光标所在行的位置,就是说,比如我光标在第10行,我想光标不动,但是所在行向上移,ctrl-e啦,然后向下的话,ctrl-y~
Vim中的大小写切换
在vim中,通过v选中的文字可以用u切换到小写,U切换到大写,~在大小写之间切换,但是如果需要对选定的词做大小写操作,就需要用到%s中的\u,\U,\l和\L,\u是把后续的字符串第一个字符转成大写而\U是把后续的都转成大写(upper case),\l和\L是转成小写(lower case) 例如如果要把所有行首的单词首字母大写后面的所有字母都小写,可以这么折腾: :%s/^\(\w\)\(.*\)/\u\1\L\2/g 需要注意的一点是,如果\L和\U后面跟有别的字符串,也会被弄成大写,如对字符串abcdefg运行 %s/abcd/\Uefgh/g 的结果就是 EFGHefg,这一点在使用反向引用\1, \2等的时候比较麻烦,例如我\1取到的是一个单词,我需要把它们都大写化了,然后后面的\2也会被变成大写。刚好下午试的是给变量改名字,在需要变大写的单词后面有一条下划线,于是就这么用了: :%s/_\([a-z]\)_\(.*\)/_\U\1\l_\2/g \l 对下划线没影响,刚好用来抵消 \U 的作用,满好,至于别的情况,暂时没想法……
Vim中的非贪婪匹配
折腾了一个HTML文件,想把标签中一些不要的属性去掉,直接的话就直接匹配到行末了,想想vim这么高级的东西应该支持非贪婪匹配吧,于是在google和自带帮助的指引下折腾出来了。其实很简单,在:h non-greedy一条中有说,使用{-}来匹配,和*的功能类似,于是乎就有: 默认贪婪匹配到行末:/<a.*> 使用非贪婪匹配本标签:/<a.\{-}>