2004年11月28日

很神奇的发明,可以传递人的声音,只是可惜没法传递表情和神态,使得一切只能通过声音来揣测;可是话又说回来了,就算是可视电话,能看见,看的清楚也无法保证能理解对方的心情;就算是面对面交流,也很难能到达完全的理解,说到底,就是人与人沟通难。

再先进的手段,至少现在还不能促进人与人的理解,以后呢?也许永远不会出现这样的东西,谁都有自我保护的天性,不会轻易让别人触及内心的。

很早以前就在SMTH上的gmail swap版面上求过邀请,不过很快埋没了,也就作罢;前两天看到新开了wallop版面,于是又上门求一个,用的还是“乌龙”作为我的nick,【呵呵,跑题一下,可以到http://mywallop.com/public.aspx?id=1445513&ty=per 看看乌龙这个名字的来历哦。:)】 后来一位由大工毕业到北京工作的朋友ChinaDragon(中国龙)给了我一个邀请。在这里再次向ChinaDragon表示感谢~谢谢你。

Wallop果然比较炫,但是比起我自己想象的还是不如,呵呵,可能期望值太高了吧。不过Wallop真的很方便,就像一个完全公开的社区,使得你的关系网在网络中以一种可以看见的形式织起来。不错。

2004年11月26日

gvim 使用技巧



作者:一风(兰州大学高性能计算机试验室 cnyifeng@263.net
 
本来想要写什么大全的,但想了想,感觉写大全也就是抄来抄去的,没什么意义,
所以我决定就写实用技巧,下面我会一条一条的罗列,如果你还发现了这上面没有的技巧,可以联系我,把你的技巧给加上去,其实vim的使用与emacs的使用是一样的广泛,但大家都倾向于使用其中的一个而贬低另外的一个,互不相让,就好像一家人里面还要分出两个派别来,这又何苦呢?我只使用过vim,多于emacs我只是稍微尝试了一下,只能说emacs不适合于我,但我不反对别人使用它。
好了,废话不说了,下面我将技巧罗列出来:


注意:凡是从其他文章中摘录下来的我都会注明出处,为注明的即位本人自己所写
1:在VIM当中要对所编辑的文件进行简单加密
2:重复输入同一字符
3:在文件中置入行号
4:将文件名插入文件中
5: 用VIM编写C/C++程序
6:自动补齐
7:对一段文字进行排序


1:在VIM当中要对所编辑的文件进行简单加密
在VIM当中对所编辑的文件进行简单加密,可以在命令行模式下键入“:X”,然后在提示“Enter the encrypt key”时输入口令字串就可以加密了。但是不要忘了保存!保存的时候会发现在屏幕底部有“[crypted]”这样的字样。下次打开该加密文件会要求您输入口令字串。


2:重复输入同一字符
有时,我们可能想多次输入同一字符,VIM的插入功能可以很好的完成这项工作
命令 80i=^ESC 一次可以输入80个字符= ,当然,80a=^ESC 也可以完成上述功能。
请注意:此处的^ESC表示键盘左上方上的ESC键。


3:在文件中置入行号


工作中,我们有时希望把行号置入文件中,而VIM提供的功能 :set nu 只能显示行号,不能编辑或将其置入文件当中,下面的宏命令脚本row_num.vim可以完成此项功能。


:%s/^/^I/ 每一行的行首添加一个TAB字符
:$ 到文件的末行
:let end=line(“.”) 末行的行号 ==〉变量 END,函数line的功能是取得指定行的行号,此处参数”.”表示当前行
:1 到文件的首行
“——————————————
:let num=1 1 ==〉计数器
:while num<=end
:let line=getline(“.”) 取当前行的内容 ==〉变量 LINE
:let line=substitute(line,$,num,”") 在变量 LINE 的前面置入行号
:call setline(“.”,line) 将变量 LINE 的内容写回当前行
:+ 下移一行
:let num=num+1 计数器加一
:endwhile 循环执行,直到文件结束
“——————————————


4:将文件名插入文件中
在编辑状态下,使用Ctrl+R %来输入你正在编辑的文件名。




5: 用VIM编写C/C++程序
Vi是Unix下最常用的文本编辑器。VIM(Vi IMproved)则是它的增强版。有人常常拿VIM和emacs比较,VIM尽管不象emacs那样有那么多的功能,但是比emacs更方便、好用。用过emacs的人肯定会为emacs的一些快捷键感到烦恼,有时候用真希望自己有八只手。VIM的学习曲线也不象emacs那么长,只要看看VIM自带的vitutor,大约只要20分钟就能掌握VIM的用法。对于Unix下的C/C++的程序员,我推荐你们使用VIM+Ctags的组合来写程序。其中原因听我慢慢道来。(下面对VIM的介绍主要是针对5.6以后的版本)


VIM支持语法制导和自动缩进
VIM会根据文件的后缀名,如:*.c、*.cpp、*.cc,等,自动设置语法制导(Syntax Highlighting)。C/C++中的一些保留字,如:if、for、include,等等,就会有不同的颜色,这样就会减少程序员犯错的可能,阅读程序的时候相对来说也轻松很多。用下面这些命令在VIM中查看有关语法制导的帮助:“:h syntax”、“:h syn-qstart”、“:h syntax-printing”。


VIM也支持根据GNU的风格自动缩进,这样程序员编写出来的代码就更易阅读,而且也有利于培养好的编程风格。用下面这些命令在VIM中查看有关自动缩进的帮助:“:h cindent”、“:h cinoptions”、“:h cinoptions-values”、“:h cinkeys”、“:h cinwords”。


使用Ctags
VIM中已经带了Ctags这个程序。尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。Ctags可以帮助程序员很容易地浏览源代码。用下面的命令可以在源代码的根目录下创建“tags”文件:


[/home/brimmer/src]$ ctags -R


“-R”表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。“tags”文件中包括这些对象的列表:


l 用#define定义的宏


l 枚举型变量的值


l 函数的定义、原型和声明


l 名字空间(namespace)


l 类型定义(typedefs)


l 变量(包括定义和声明)


l 类(class)、结构(struct)、枚举类型(enum)和联合(union)


l 类、结构和联合中成员变量或函数


VIM用这个“tags”文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法:


1) 用命令行。在运行vim的时候加上“-t”参数,例如:


[/home/brimmer/src]$ vim -t foo_bar


这个命令将打开定义“foo_bar”(变量或函数或其它)的文件,并把光标定位到这一行。


2) 在vim编辑器内用“:ta”命令,例如:


:ta foo_bar


3) 最方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl-]”。用“Ctrl-o”退回原来的地方。


注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:set tags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。


快速改正错误
在VIM编辑器的环境下用“:make”就可以编译程序,当然其前提是在当前目录下有Makefile文件。运行完“:make”之后,如果程序中有错误,就会显示出来。这时候,光标会自动指向第一个出现错误的地方,而且你还可以看到错误的提示。然后,你就可以改正错误,而不用手工找到出错的那一行。记住下面几个有用的命令:


l “:cl”列出错误


l “:cn”让光标指向下一个错误


l “:cp”让光标指向上一个错误


l “:cnew”从头开始


你甚至可以让VIM识别出其它编译器而不是gcc的错误提示。这对一些开发嵌入式系统的程序员这很有用,因为他们很可能用的不是gcc而是其它编译器。通过设置“errorformat”的值,可以让VIM识别出编译器的出错提示。因为不同的编译器的出错提示是不同的,所以如果用的不是gcc就要重新设置。


“errorformat”的值是一个字符串,它的格式和C语言的scanf的字符串格式相识。


gcc的“errorformat”的值为:%f:%l:%m。其中“%f”表示文件名,“%l”表示行号,“%m”表示出错信息。


用“:h errorformat”查看详细的帮助信息。


用“:h quickfix”、“:h make”、“:h makeprg”、“:h errorfile”查看其它的信息。


有用的快捷键
下面的这些快捷键对程序员很有帮助:


在函数中移动光标
[[ 转到上一个位于第一列的“{”


]] 转到下一个位于第一列的“{”


{ 转到上一个空行


} 转到下一个空行


gd 转到当前光标所指的局部变量的定义


* 转到当前光标所指的单词下一次出现的地方


# 转到当前光标所指的单词上一次出现的地方


括号的匹配
% 用来进行小括号、中括号和大括号的匹配。这要看当前光标指向的是什么符号了。


其它
VIM的配置文件是“.vimrc”,用这个文件可以配置VIM。VIM的图形界面的版本叫gvim。VIM也有用于Windows平台的版本。



版权说明
这个技巧的版权属于作者brimmer(brimmer@linuxaid.com.cn)和www.linuxaid.com.cn


6:自动补齐
这个技巧在你写程序是十分的有用,在编辑状态下使用Ctrl+N就可以了,当然你要先输入前面的一小部分,如果不是你可以重复使用
Ctrl+N来选择正确的匹配,当你的程序变量十分长时,该命令就显得很有用出了。


7:对一段文字进行排序
例如,有下面一段文字
version.o
pch.o
getopt.o
util.o
getopt1.o
inp.o
patch.o
backupfile.o
你想要对他们进行排序,按照字母顺序
通过以下几部可以做到:
a:移动光标到想要排序的那一行
b:使用ma标志改行为a
c:移动光标到想要排序的最后一行
d:使用指令”!’asort”,来完成排序(注意这些步骤都是在非输入模式下进行的。)下面解释一下各个的用途。”!”表示将要执行指令,”‘a”表示从当前行道标志为a的行,’sort’是执行的指令。

2004年11月22日

中文: http://www.w3cn.org/

http://www.w3cn.org/ resource/links/2004/76.html  阿捷推荐的链接
这是一笔财富,485个与web标准有关的、受人喜爱的站点、文章和blog被收集在这里。Steve Smith和Shaun Inman完成了这个列表,因此获益的我们应该感谢他们!

English: http://www.htmldog.com/
http://www.csszengarden.com/
http://www.meyerweb.com/
http://www.dezwozhere.com/links.html    巨好!很多很全!
http://www.sitepoint.com/article/tables-vs-css
http://www.positioniseverything.net/

测试网页在不同系统 windows linux osx 等,不同浏览器(ie,opera,netscape,mozilla等)下的截屏表现
http://browsercam.com/

xhtml和css校验的链接
http://validator.w3.org/check/referer
http://jigsaw.w3.org/css-validator/validator?uri=http://www.w3cn.org
下载本地校验软件 http://www.arealvalidator.com/download/

中国xml论坛 新手必读(必看) http://bbs.xml.org.cn/dispbbs.asp?boardID=1&ID=431

xhtml1.1和CSS2.1 w3c定义 
http://www.w3.org/TR/xhtml11/
http://www.w3.org/TR/CSS21/

优秀xhtml 学习站点推荐 
 中文:
http://jjgod.3322.org/
http://www.onestab.net/
http://niub.com/jjgod/

英文:
http://www.csszengarden.com/
http://www.positioniseverything.net/
http://www.456bereastreet.com/
http://www.quirksmode.org/
http://blog.deconcept.com/
http://www.mikeindustries.com/blog/

CSS 陈列馆 - 一网打尽
http://blog.timetide.net/archives/2004/09/03/20040903031728.php
推荐xhtml 学习网站
http://www.digitalmediaminute.com/
http://www.quirksmode.org/home.html
Web 设计资源  
http://www.stunicholls.myby.co.uk/menu/index.html   很多好玩的CSS应用的小例子
http://workingidea.com/color
http://csszengarden.coret.org/     禅意花园  xhtml 的经典案例

http://www.51windows.net/myjs/   51windows的代码收藏
下载收藏包

http://www.maxdesign.com.au/presentation/checklist.cfm   很多好东西!

很多入门的知识,翻译了一些上面htmldog的文章
http://www.x5.com.cn/

为何使用表格排版是不明智的:
http://www.onestab.net/seybold/index.html

2004年11月09日

说不上两句话,她不愿意多说,我也心灰意冷。

其实我知道北京的天气没有恶劣到不能去医院看病的程度,我也能理解她想去听报告的心情,只是我无法忍受不对我说真话。“我真的想去,可是雨很大,没办法的。”雨再大,打辆车就到医院了,更何况,报告会也不是在寝室开的,难道就去参加报告会就不会受天气影响么?这么简单道理难道真以为我想不到吗?

实在不想跟她吵,尤其是看到她说昨天晚上没有睡着,心一下就软了。sigh,不想了,何必呢。

要yahoo通作什么?发短信,哦,又没有我什么事儿了。新手机买了,可是发短信的数量和原来还是一样。呵呵,真是心慢慢变凉。

因为她不想投入太多?不知道,不去想。我的心还是会热的,可是还能像过去一样温暖你吗?

2004年11月01日

当爱情如平静的水面一般时,爱就是一种让人安心的力量,它支持你,默默地为你提供力量;当爱情与疑惑为伴时,它掀起的巨浪足以摧毁你。爱应当是基于信任的一种最坚定的力量,如果你没有从爱情中得到这种支持和力量,那它可能还在“疑惑”这个恶魔的教唆下摇摆不定;这个恶魔一旦出现,就意味着站在爱情两边的双方都逃不出它的手掌,只有完全粉碎它,才能使两人都得到解脱。

家人是你真正的支持者。

我能给予我的爱人什么样的安全感?她能给予我什么样的安全感?

Intel NP developer网址

http://developer.intel.com/design/network/products/npfamily/index.htm

Intel IXA 2XXX 系列开发相关网址

http://developer.intel.com/design/network/products/npfamily/ixp2xxx.htm

Intel IXA NP SDK

http://developer.intel.com/design/network/products/npfamily/sdk.htm