刚开始在Windows下用CVS的时候,就是在Cygwin下用cvs的命令行,这个方法倒也方便快速,就是刚开始要记一大堆的命令,很痛苦;现在管理tasks的时间也长了,整天不停地在不同的目录间跳转,check in和update,打字打得都快要抽筋了。
后来试着用了用WinCVS,配置怎么这么难的?满菜单的找要设置的内容还真不容易。最讨厌的是打开文件的方式,非得让你再选一遍,实在是觉得不好用。
今天知道了TortoiseCVS,原来这么简单的!如果只是想从服务器上更新文件,只要装好它,自动就帮你把已经check out出来的目录设置好了。
用TortoiseCVS,简单安装,像浏览文件夹一样浏览CVS!
phpBB里要换模板是很容易的。比如说我喜欢这个RedSilver的皮肤,只要先下载下来,就能很轻松地安装好。
这里要注意的是,phpBB2和phpBB3的模板是不兼容的,注意根据你的phpBB的版本来下载。
根据《如何安装phpBB3风格》一文进行操作:
把解压出来的文件放到你的phpBB3/styles/目录下,用系统管理员的帐号登陆phpBB3的管理后台(在页面底部找到Admin Control panel的入口),点击STYLES标签页,根据页面左边的提示即可安装你的风格。
教育网上不了国外网站,自然不能自动升级小红伞。但是可以上小红伞的官方网站http://www.avira.com
直接下载补丁升级。
在首页里找到Support –> Downloads,或是直接用下面的网址登陆:
http://www.avira.com/en/support/support_downloads.html
在页面的右边,有一个VDF Update的下载链接,把它下载下来,然后打开小红伞的主程序,选择菜单Update –> Manual Update,选择你刚刚下载文件即可。
只要把下面这段代码放到.emacs里,即可像Firefox一样,用”C-+“和”C–“来放大Emacs显示字体的大小,非常地方便。
(defun increase-font-size ()
(interactive)
(set-face-attribute ‘default
nil
:height
(ceiling (* 1.10
(face-attribute ‘default :height)))))
(defun decrease-font-size ()
(interactive)
(set-face-attribute ‘default
nil
:height
(floor (* 0.9
(face-attribute ‘default :height)))))
(global-set-key (kbd “C-+”) ‘increase-font-size)
(global-set-key (kbd “C–”) ‘decrease-font-size)
本代码摘自:http://sachachua.com/wp/2006/09/15/emacs-changing-the-font-size-on-the-fly/
在Muse定义的模板里,如果要对其中一些可变的内容用lisp函数来处理,可以在其中嵌入lisp函数,只要把lisp语句括在<lisp>和</lisp>之间即可。
比如说我在页面的footer里要设定网页发布的时间,就可以加上这么变态的几句来处理:
最后更新:
<lisp>
(format-time-string “%4Y-%2m-%2d-%T”
(nth 5 (file-attributes
muse-publishing-current-file)))
</lisp>
当然,如果你是放到变量muse-xhtml-footer里,对“要记得用\”来转义。比如,加入了这一句后,我的muse-xhtml-footer就成了这样:
;;;; muse xhtml-footer
(setq muse-xhtml-footer ”
<!– end page content –></div><div id=\”footer\”><br />
<!– it’d be super if you left this link intact –>
<a href=\”http://www.dream-logic.com\”>Web Design by dreamLogic</a>
最后更新:
<lisp>
(format-time-string \”%4Y-%2m-%2d-%T\”
(nth 5 (file-attributes
muse-publishing-current-file)))
</lisp>
</div>
</div></div>
</body>
</html>
“)
最后转出的效果如下图所示:

完成了Muse的基本配置之后,我们可以继续给自己的Wiki添加更多的功能。当站点的笔记、内容较多的时候,唯有用搜索引擎才能快速地找到我们需要检索的内容。于是,我今天加了一个Google搜索的代码到我的Muse配置文件里。
这一步其实非常简单,只要把
<!– <lisp>(muse-publishing-directive \”title\”)</lisp> –>
<!– Google Search –>
<div class=\”searchbar\”>
<form id=\”searchbar\” method=\”get\” action=\”http://www.google.com/custom\” title=\”My Site Search\”>
<div id=\”searchbar\”>
<label for=\”q\” title=\”Search this site\”>
<img src=\”common/images/google.gif\” ></label>
<input type=hidden name=domains value=\”http://www.waterlin.org/\”>
<input type=hidden name=sitesearch value=\”http://www.waterlin.org/\”>
<input type=\”text\” id=\”q\” name=\”q\” accesskey=\”s\” size=\”16\”>
<input type=\”submit\” id=\”submit\” value=\”Go\”>
</div>
</form>
</div>
<!– Google Search –>
这段代码添加到你想放Google搜索框的地方即可。记得把其中的http://www.waterlin.org换成你自己的域名。
为了在所有的页面都出现这个搜索框,你最好把这段代码放到muse-xhtml-header或是muse-xhtml-footer变量里。
我把它加入到我的muse-xhtml-header变量里,当然,切记要在你的css文件里为searchbar设值。
现在做Wiki的工具这么多,为什么还要用muse这样老土界面的东西呢?Muse其实有着许多的优点,归结起来,我觉得不外乎这么几个:
其一,你可以专注于写作,而不是排版,一旦你设计好了你的风格,你就可以一劳永逸了,写起来特别地快捷。
其二,用Muse写Wiki的成本很低。大多数个人发布页面,如果要用动态网站的形式,势必给自己添加许多维护上的麻烦。而Muse生成的html静态页面,容易托管和备份。当然,如果你是多人维护的页面或是Wiki,就另当别论了。
其三,Muse可以生成多种格式。你写的一份内容,不仅可以生成html页面,还能生成类似于pdf之类的其它文档,对于保存和发派你的作品,都十分的方便。
因为muse的配置比较长,所以我喜欢把muse配置代码全部放到emacs-muse.el里,在.emacs文件里导入这个文件来加载muse配置代码以及自定义样式的代码,这样可以方便编写调试,而且还能方便在命令行调用。
;; Emacs Muse
(load-file “~/emacs/site-lisp/emacs-muse.el”)
下面就讲一讲我在emacs-muse.el里的配置代码。
1) Muse的基本配置
定义一些基本的格式,没什么特别的。
(require ‘muse-mode) ; load authoring mode
(require ‘muse-html) ; load publishing styles I use
(require ‘muse-latex)
(require ‘muse-texinfo)
(require ‘muse-docbook)
(require ‘tp-muse-highlight nil t)
(require ‘muse-project) ; publish files in projects
2) 自定义自己的样式
Muse提供了函数muse-define-style来自定义格式,还有函数muse-derive-style来继承已定义的格式。本文就介绍一种自定义的HTML格式,所以只需要函数muse-derive-style来继承自HTML格式即可,这里我们定义了两个名为wiki-xhtml和default-xhtml的新格式,它继承自XHTML格式。
(unless (assoc “my-blosxom” muse-publishing-styles)
(muse-derive-style “wiki-xhtml” “xhtml” ;定义一个派生的style为wiki-xhtml
:header ‘muse-xhtml-header
:footer ‘muse-xhtml-footer
)
(muse-derive-style “default-xhtml” “xhtml” ;定义另一个派生的style
:header “~/muse/common/templates/default-header.html”
:footer “~/muse/common/templates/default-footer.html”
))
3) 多项目配置
在这里,我们配置了两个项目,一个是ArrAyWiki,另一个是个人主面的MyWiki。从语句中可以看出来,我们给ArrAyWiki配置的是Muse自带的html风格的模式,而给MyWiki配置的却是wiki-xhtml风格的模式。
(setq muse-project-alist
‘((“ArrAyWiki” (“~/ArrAyWiki” :default “index”)
(:base “html” :path “~/public_html/ArrAyWiki”)
(:base “pdf” :path “~/public_html/ArrAyWiki/pdf”))
(“MyWiki” (“~/MyWiki” :default “index”)
(:base “wiki-xhtml” :path “~/public_html/MyWiki”)
(:base “pdf” :path “~/public_html/MyWiki/pdf”))))
有关多项目配置的详细情况可以看一看我之前写的《Emacs Muse的多项目发布模式和命令》。在发布项目的时候,即muse-mode里C-c C-t的时候,对于MyWiki项目要记得用输入wiki-xhtml这个style来生成页面。
4) 具体定义风格
我们虽然在2)中已经定义了样式的名,但其实我们还没有真正的定义出样式的具体内容。我们现在就来对样式的具体内容作出定义,拿wiki-xhtml作为例子。我们可以先从http://www.dream-logic.com/下载我们喜欢的模板文件作为参考模板。
对于wiki-xhtml风格,我们只需要定义muse-xhtml-header和muse-xhtml-footer这两个变量,参考我下载的模板,我对这两个变量进行了如下的定义:
;;;; muse xhtml header
(setq muse-xhtml-header ”
<!DOCTYPE html PUBLIC \”-//W3C//DTD XHTML 1.0 Strict//EN\” \”http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\”>
<html xmlns=\”http://www.w3.org/1999/xhtml\” lang=\”en\” xml:lang=\”en\”>
<head><!– change this to the title you want to appear in browser title bar –>
<title>Water Lin</title>
<meta http-equiv=\”Content-Type\” content=\”text/html; charset=utf-8\” />
<meta name=\”author\” content=\”dreamLogic\” />
<meta name=\”description\” content=\” \” />
<link rel=\”stylesheet\” href=\”style.css\” type=\”text/css\” />
</head><body>
<div id=\”navcontainer\”>
<ul id=\”navlist\”><!– put your navigation links and text here –>
<li><a href=\”#\”>home</a></li>
<li><a href=\”http://blog.waterlin.org\”>blog</a></li>
<li><a href=\”#\”>portfolio</a></li>
<li><a href=\”#\”>links</a></li>
<li><a href=\”#\”>contact</a></li>
<li><a href=\”http://validator.w3.org/check?uri=referer\”>xhtml</a></li><!– end navigation –>
</ul>
</div><div id=\”wrap\”>
<div id=\”header\”></div>
<!– the title that appear in the page header –>
<div id=\”title\”>Water Lin<br />Sea made by Water Drop</div>
<div id=\”container\”>
<div class=\”content\”>
<!– Page published by Emacs Muse begins here –>\n
“);;;; muse xhtml-footer
(setq muse-xhtml-footer ”
<!– end page content –></div>
<div id=\”footer\”><br />
<!– it’d be super if you left this link intact –>
<a href=\”http://www.dream-logic.com\”>Web Design by dreamLogic</a>
</div>
</div></div>
</body>
</html>
“)
在这里,注意所以的“号都要用\”来转义。
到这里,Muse的基本配置就算结束了。试着在你的muse文件里,M-x muse-project-publish-this-file试一试看。
经常要在Linux里查找版本信息,列出几种方法备用。
1) cat /etc/issue
返回结果:
Ubuntu intrepid (development branch) \n \l
或者
2) cat /proc/version
返回结果:
Linux version 2.6.22.18-co-0.7.3 (hn@hn-lt) (gcc version 4.1.2) #1 PREEMPT Wed Apr 16 18:50:10 UTC 2008
或者
3) uname -a
返回结果:
Linux andLinux 2.6.22.18-co-0.7.3 #1 PREEMPT Wed Apr 16 18:50:10 UTC 2008 i686 GNU/Linux
或者
4) lsb_release -a
返回结果:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu intrepid (development branch)
Release: 8.10
Codename: intrepid
或者
5) cat /etc/lsb-release
返回结果:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.10
DISTRIB_CODENAME=intrepid
DISTRIB_DESCRIPTION=”Ubuntu intrepid (development branch)”
以下是Ubuntu的各个发行版的名称和发布时间,没有仔细核对,应该不会太大出入的:
Ubuntu 4.10 – Warty Warthog(长疣的疣猪),发布日期:2004年10月20日。
Ubuntu 5.04 – Hoary Hedgehog(灰白的刺猬),发布日期:2005年4月8日
Ubuntu 5.10 – Breezy Badger(活泼的獾),发布日期:2005年10月13日
Ubuntu 6.06 – Dapper Drake(整洁的公鸭),发布日期:2006年6月1日
Ubuntu 6.10 – Edgy Eft(急躁的水蜥),发布日期:2006年10月6日
Ubuntu 7.04 – Feisty Fawn(坏脾气的小鹿),发布日期:2007年4月19日
Ubuntu 7.10 – Gutsy Gibbon(勇敢的长臂猿),发布日期:2007年10月18日
Ubuntu 8.06 – Complacent Husky(得意的哈士奇),发布日期:2008年6月7日
有的时候,我们只想对buffer中某一部分的内容进行操作,比如说替换这一段内容中的某些字眼而不影响文章的其它部分。这个时候,应该怎样处理才会比较方便呢?
我自己经常用两种方法,都觉得蛮好用的。
1) 先选中要操作的区域,再直接用命令。
比如说我要全部替换buffer中某个部分的某个单词,我先选中这个部分,然后直接用命令M-x replace-string,根据提示,完成替换操作。
当然,你还可以使用一些其它的命令,比如说M-x count-lines-region之类的,来统计一下该部分有多少行。这个方法的优点是操作比较简单、快速;缺点是,能使用的命令不多,不能进行比较复杂的操作。
2) Narrowing
Narrowing的意思是集中于当前buffer的某一部分,并且隐藏buffer的其它部分。
在选中一个区域之后,用命令C-x n n(M-x narrow-to-region)进入narrow模式,然后你就可以像操作一般的文档一样来操作这个region了。
用命令C-x n w(M-x widen)即可退出narrow模式返回到原来的buffer中,你在narrow里的编辑将带回到原buffer里。
还有两个命令可以让你更加方便地进入narrow模式:
C-x n p(M-x narrow-to-page): 把当前页面用narrow模式来编辑。
C-x n d(M-x narrow-to-defun): 把光标所在行的当前函数用narrow模式来编辑。
早上一早来公司,发现outlook不能用,死活连接不到服务器,呈假死状态;Firefox运作得很正常。打开IE7,试图连一个邮件服务器或是网页,结果死活上不了网。这不是和我家里的电脑一个德性吗?昨天我就因为IE7上不了网折腾到晚上两点,顺带导致金山毒霸升级到一半就断的惨剧。
实在是想不明白微软在干什么,IE7上不了网,为啥要牵连Outlook?非要弄得我整台机都出问题。
一恕之下,我把IE7给删掉了,重新用回IE6好了。果然,一删除IE7,啥事都没有了:IE能上网了,outlook也能用了。
这就是微软的产品,关联得太紧密了吧?紧密得也太过分了。昨天回家前IE7还能上网,今天一开机就啥都用不了了。一打开“局域网设置”IE7就死在那里了。真是想不明白,是我的电脑有问题,还是微软的IE7服务有问题。我也懒得折腾这种自闭的东西,纯粹是浪费我的时间!
先不说IE7先进不先进,安全性高不高。如果连我2g的内存跑起来都有点颤悠悠的,可以预见其它用户用起来是啥感觉了!那些做网站只在IE下测试运行结果的人,也统统是白痴!要不是我们公司的信息管理系统对Firefox支持不好,我早就把IE打入冷宫了!
等我今天回家也把IE7给删掉去,不然我家里的IE永远都不好用。