2008-12-25

Vim的命令行模式下常用操作

显示行数:
:set nu
去到某行:
:某
搜索:
:/^hello$/
搜索时,不区分大小写
:set ic
也就是
:set ignorecase
强大的g
对指定内容执行编辑器命令,比如:删除所有空白行用 :g/^$/d。这样,结合正则表达式,就很方便对文档进行许多自动化的操作。这里有更详细的描述
:g/^$/d
加密
:X
替换功能
去掉所有的行尾空格:
:%s/\s\+$//g
去掉所有行首空格:
:%s/^\s\+//g
去掉所有的空白行:
:%s/\(\s*\n\)\+/\r/
去掉所有的“//”注释:
:%s!\s*//.*!!
去掉所有的“/* */”注释:
:%s!\s*/\*\_.\{-}\*/\s*! !g
将多个空格替换为单个tab键
:%s/\s\+/\t/g
对多行进行单行注释:
: 30,45 s/^/#/
取消对多行进行单行注释:
: 30,45 s/^#//
隐藏菜单栏和工具栏:
:set go=
设置一个养眼的配色方案:
:colorscheme torte

Vim的配置

sudo vim /etc/vim/vimrc

"注释用双引号

"显示行号
set nu

"将tab键自动转换成4个空格
set tabstop=4
set shiftwidth=4
set expandtab

"不生成备份文件
set nobackup

"设置语法高亮
set syn="python"

"不产生临时文件
setlocal noswapfile

"设置自己喜欢的颜色
color torte


p.s.
编码问题
可以在vimrc中默认设为GBK,读取UTF8编码的文件时临时再该回来,最好是习惯用UTF8,这样可以免去很多麻烦。
set encoding=cp936
set termencoding=cp936
set fileencoding=cp936

这里有个讨论。

取消自动缩进:
rename * *.bak
都改掉名字就ok了。
目录:C:\Program Files\Vim\vim72\indent
这里有篇介绍。

2008-07-24

体验Knol

一早听说Google的Knol正式上线了,赶快进去体验一下。

在首页看了看推荐的词条,应该算是范例吧,不像维基的百科全书式,Knol像是百事通,比如有一条 “Featured Knols” 就叫 “How to Backpack”。我想,我可以写一篇叫“怎样灌水”。:) 从这一点看,有点明白“A unit of knowledge”的概念了。

Knol是基于作者的,比如:维基里页面的路径 http://en.wikipedia.org/wiki/knol 指向了“knol ”这个词条,而Knol里则可能是 http://knol.google.com/k/老徐/做饭/ 指向了老徐写的“做饭”这篇文章。那么,老徐就叫google在knol的签约专栏作家。作者可以发布广告来获取收益,这样一来Knol的流程就是:作者写作/评论 -> 向读者展示 -> Adsense广告展示 -> 作者和Google获得收益。

作者具有词条的所有权,可以拒绝他人的修改,这一点比较特别,不知道会不会引起抢注的行为。比如,我就创建一个“俯卧撑”的文章,让你们谁都不能改。:D 不过,由于Knol目前只能“搜索词条”不能"进入词条",不像维基百科有“Go”和“Search”两个按钮。你占据了“PHP”这个词条,我可以写个“关于PHP”的文章,在读者搜索“PHP”时依然会看到我的文章。

随便写点东西发布了一下,然后在IE里用未登录身份搜索词条,结果却找不到。但是在FF里用发布者的身份却可以找到该词条。似乎Google在说:“只有我们审核通过的东西才可以发布,否则只能自己看。”

总的来说,Knol更像是百度知道或新浪博客,不过推动作者写作的不是等级或排名的提升,而是广告收益的刺激。再加上作者间的协作、作者和读者的互动、以及系统内部的激励机制,共同作用来促使优秀内容的产生。这些内容经由Google的推荐,将更容易展现在用户的浏览器窗口中。