2009年8月22日星期六

在Linux下将windows文本格式转换为UNIX格式

转:

在Linux下有一下这两条命令:unix2dos 和dos2unix
下面是演示:

[root@wwwtest ~]# cat -vt test
1
2
3
45
6
[root@wwwtest ~]# unix2dos test
unix2dos: converting file test to DOS format …
[root@wwwtest ~]# cat -vt test
1^M
2^M
3^M
45^M
6^M
^M

[root@wwwtest ~]# dos2unix test
dos2unix: converting file test to UNIX format …
[root@wwwtest ~]# cat -vt test
1
2
3
45
6

--
陈永林 <vnresearch@gmail.com>

2009年8月20日星期四

Windows 7延长试用期的命令

slmgr-rearm
在30天激活期的最后一天,输入以上命令,即可以再获得30天试用期,一共可输入三次,总共获得120天试用期。

2009年8月16日星期日

GVIM配色方案随心所欲变换的小技巧

在以前的博文中曾经介绍过,在国外一网站可以直接预览近四百种VIM的配色方案,地址如下:
http://code.google.com/p/vimcolorschemetest/

作为新手,如果不知道哪一种最适合自己,或者拿不定主意,或者就是喜欢随时变换,那么在VIMRC中加入以下代码,可以在每次打开GVIM时随机选择一种配色方案:
function! Ranlook()
let colorfiles=[]
if empty(colorfiles)
for f in split(globpath(&rtp,"colors/*.vim"),"\n")
call add(colorfiles,get(matchlist(f,'\([^\\\/]*\)\.vim'),1))
endfor
endif
exe "colo" get(colorfiles,localtime()%len(colorfiles))
endfunction
command! Ranlook call Ranlook()
Ranlook

如果对当前的配色方案十分满意,希望以后一直使用它,可以输入以下命令看当前的配色方案的名称:
:echo g:colors_name

VIM多标签设置小技巧

vim自从7.0开始,就支持tab应用了,有了tab之后,就可以省下开很多编辑视窗的烦恼。但是默认的gvim并不使用tab来打开文件。当然,你可以用:tabnew filename命令来打开,但是相信大家更喜欢用双击来打开。这个时候,可以用如下方法设:


在linux下可以这样打开
$gvim --remote-tab-silent filename

而在windows下,DOS下也可以象上面那样打开;而若是“双击”打开方式,则可以修改注册表
HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit\command将其键值修改为:

"C:\Program Files\Vim\vim72\gvim.exe" -p --remote-tab-silent "%1"

而若是用鼠标右键中的“用vim编辑”,先删掉注册表中的
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\gvim,然后手工添加鼠标右键菜单,

两种方式:

a. 直接进入注册表,在HKEY_CLASSES_ROOT\*\shell下添加项“用 vim 编辑”,
再在项“用vim编辑”下添加子项“command”,在其右边窗口把其键值设定为
"c:\Program Files\Vim\vim72\gvim.exe" -p --remote-tab-silent "%1"

b. 把下面的内容保存为文件gvim.reg,并将之导入注册表


Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Edit with &Vim]
[HKEY_CLASSES_ROOT\*\shell\Edit with &Vim\command]
@="\"c:\\Program Files\\Vim\\vim72\\gvim.exe\" -p --remote-tab-silent \"%1\""

另外,也可以添加到鼠标右键中的“发送到”,方法:
在Wiondows XP中,进入到目录c:\Documents and Settings\用户名\SendTo下,在Windows 7中进入到目录:C:\Users\用户名\AppData\Roaming\Microsoft\Windows\SendTo,“鼠标右键”-“新建”-“快捷方式”,然后通过对话框的“浏览”找到gvim安装位置,这样就建立gvim的一个快捷方式,右键单击这个快捷文件-属性-快捷方式,在“目标(T)”的地址栏写入:
"C:\Program Files\Vim\vim72\gvim.exe" -p --remote-tab-silent "%*"

注意:上面都是默认安装gvim的地址,若不是默认地址,请自行修改。

2009年7月19日星期日

Lac Viet 2009越南语词典

Lac Viet 2009越南语词典安装版本下载
在中国大陆,如果要下载www.mediafire.com的资源,需要使用代理。

2009年2月25日星期三

在MySQL中将IP地址转换为有符号整数存储

我在前面的博客中提到过如何获取各国IP地址段信息,得到原始信息后,我需要把它入库,这里我使用了MySQL数据库。
假设表名为"IP_RANGE","IPSTART"字段记录了某段IP的起始地址,"IPEND"记录了结束地址,"COUNTRY"为国家代码。
为了比较和查找IP地址段信息,我需要把IP转换为整数存储,幸好MySQL为我们提供了INET_ATON和INET_NTOA两个函数,前者把四节点段式IP地址转换为整数,后者把整数复原为点段式IP地址。INET_ATON函数转换后的结果是无符号整数,范围在0~2^32(0~4294967296)之间。不过为了把数据导出到ACCESS中去,我不得不把它变为有符号整数,对应Microsoft Access中的长整型(范围在-2^31~2^31-1,即-2147483648~2147483647),绞尽脑汁,求教高手手,我使用了一个IF表达式,代码如下:
SELECT
`IPSTART`,
`IPEND`,
`COUNTRY`,
IF((INET_ATON(`IP_RANGE`.`IPSTART`)<POW(2,31),INET_ATON(`IP_RANGE`.`IPSTART`),(INET_ATON(`IP_RANGE`.`IPSTART`) -POW(2,32))) AS `IP_START`,
IF((INET_ATON(`IP_RANGE`.`IPEND`)<POW(2,31),INET_ATON(`IP_RANGE`.`IPEND`),(INET_ATON(`IP_RANGE`.`IPEND`) -POW(2,32))) AS `IP_END`
FROM `IP_RANGE`
其中,两句IF表达式也可以这么写:
IF((INET_ATON(`IP_RANGE`.`IPSTART`) <= 2147483647),INET_ATON(`IP_RANGE`.`IPSTART`),(INET_ATON(`IP_RANGE`.`IPSTART`) - -(-(4294967296)))) AS IP_START,
IF((INET_ATON(`IP_RANGE`.`IP_END`) <= 2147483647),INET_ATON(`IP_RANGE`.`IP_END`),(INET_ATON(`IP_RANGE`.`IP_END`) - -(-(4294967296)))) AS IP_S
有意思的是,INET_ATON计算出来的结果减去4294967296时,连着使用了三个"-",如果使用一个的话,就会出错。

2009年2月14日星期六

VIM与编码有关的设置

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
vim7.2在windows下的编码设置。
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
"解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"解决consle输出乱码
language messages zh_CN.utf-8
"解决部分中文字符显示不完整
set ambiwidth=double