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,842 views
- 让win下的vim支持非等宽字体 - 2,417 views
- C++中静态成员函数的声明及定义 - 1,332 views
- python中的静态成员函数 - 1,291 views
- VIM LaTeX Suite - 1,290 views
- List的Iterator - 1,065 views
- Pietty + Xming,在Win下用X - 1,008 views
- 给iphone传电子书 - 943 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)
Category Archives: 善用佳软
让win下的vim支持非等宽字体
最近vim升级到了7.3,很喜欢它的相对行号功能(:h rnu),于是就升级了,然后就毫无悬念的出问题了~ 问题的原因是之前用的vim72是个改版,加上了对非等宽字体的支持,于是在vim中可以将guifontwide设置为YaHei Consolas的混合字体,不过这次升级后没找到原作者的网站,只好自己动手了。 改动在os_mswin.c中,进去后直接找mono,会看到一处注释说忽略非等宽字体,把下面那行注释掉就好,这是diff文件: diff -r 96b2b1cca7cd src/os_mswin.c — a/src/os_mswin.c Mon Aug 23 12:55:47 2010 +0800 +++ b/src/os_mswin.c Mon Aug 23 13:05:17 2010 +0800 @@ -3288,8 +3288,11 @@ #ifndef FEAT_PROPORTIONAL_FONTS /* Ignore non-monospace fonts without further ado */ + … Continue reading
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
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.\{-}>
Error 0x800704b8 While Installing IPv6
最近想在自己机器上装个v6的协议栈做开发,但是单位装机的thinkpad上居然没有v6的协议栈,真郁闷,只好自己装,可惜在ipv6 install的时候,给直接报了个错,Error 0x800704b8,这回可是碰到问题了,一开始以为是机器权限的问题,可是问了旁边那哥们,他说他装上了,用的某条命令后,但是命令忘了,于是 google 之。 其实,碰上这个问题的人很多,那条命令也很简单。问题是windows安全数据库出问题了,Windows安全数据库,在%WinDir%\Security\database里,具体存放的内容,暂时没时间去找,呵呵。Windowz提供了一个 esentutl 的工具用以检查修复这玩意。具体用的到的命令是 esentutl /p %windir%\security\Database\secedit.sdb ,/p表示修复,后面是具体的数据库,然后再安装,于是就行了。 汗Windowz,好歹也说清楚点出错的地方啊……
Posted in 善用佳软
Leave a comment
Org mode under WinEmacs
虽然前几天折腾上了muse,但是又在网上看到了另一个org mode,而且以前也看别人提过一次,说它的表格功能很好用,所以心又痒了,于是乎,下载,安装。 和muse一样,解压后,在配置文件中加上两行就行了,一行指定org的el文件存放的位置,另一行设定对于org后缀的文件,使用org-mode打开。 新建一个foo.org的文件,然后开写,用的也是类似outline的模式,而且对每级都有不同的颜色,好看。比较方便的是光标放在哪个标题栏上按<TAB>可以控制此级标题的显示与隐藏,很方便的一个功能。还有就是在它下面可以用-/+/*来显示无级列表,用1.来显示编号的列表,写完一个列表后按<M-CR>,它会在下面给添加一个同级的列表,如果是无序的则加一个标记,如果是有序的则数字加1,然后按<M-LEFT>和<M-RIGHT>可以控制列表缩进的层次,说真的,比Word下那让人莫名其妙的列表层次要好多了。它还支持导出,<C-c><C-e>后会有一个buffer告诉你有啥命令可用,可以导出的格式还是满多的,不过目前我的需求,大概就是HTML了吧,还没弄明白能不能给代码加高亮,过过再折腾吧,最近先用它来记笔记。一会再看看用它来做一下TODO。 再说说表格,由于目前还没怎么用到表格功能,所以只是从教程中感受到了它的方便与强大,而且还有计算功能,过段时间再折腾吧。 发现自己已经开始逐渐喜欢上了这个邪恶的Emacs了,呵呵。
Posted in 善用佳软
Leave a comment
vim中删除包含某关键字的行
今天在BBS上逛,看到篇文章不错,但是我只要它中间某几行,先试的是g/XXX/p,但是觉得它输出的内容不好看,我也不知道怎么弄到别的缓冲区中去,于是想把不包括这个关键字的行给删了。想找一个类似grep -v的命令,查了一下,可以用g!/XXX/d,那个!表示不包含,最后的那个d表示删除,不错,嗯。
Posted in 善用佳软
Leave a comment
TortoiseHg中设置diff工具
装了个TortoiseHg用来控制本地的一些代码,自然需要配置一下diff的工具,它默认的visusal diff工具刚装上点了没啥反应,于是上网找。它的安装包中倒是带了一个kdiff3,但是用来比较两个文件比较不好用,主要是自己想用vim做diff,所以需要配置一下。去它的wiki转了一圈,知道是要配置TortoiseHg安装文件夹下的Mercurial.ini文件。首先需要改[extensions]节的配置,把使用hgext.extdiff = !的感叹号去掉,表示启用这个扩展,然后在下面[extdiff]一节中,配置一下cmd.XXX,其中XXX是将来需要在上面设置的命令的别名,然后设置好cmd.XXX=<Command>,如果需要参数,则要加上opts.XXX=<args>。参数默认中有要比较两个文件名,所以不需要加上文件名。例如如果需要使用vim做比较,我是这么写的: cmd.vimdiff = [path /]\gvim.exe opts.vimdiff = -d 然后可以在图形界面里面设置,也可以在配置文件中编写,里面会列出在cmd中写的命令,选择好后点visual diff就可以了。它会把当前工作版本和版本库中的版本做比较,目前还没有试怎么与特定版本做比较,用到再说,嗯。
Posted in 善用佳软
Leave a comment