Archive for 10月, 2006

edgy安装记录 星期日, 10月 29th, 2006

注:在保留已有/home分区的情况下。

1。安装scim输入法。
libscim8c2a_1.4.4-4ubuntu6_i386.deb
scim_1.4.4-4ubuntu6_i386.deb
scim-chewing_0.3.1-1ubuntu2_i386.deb
scim-chewing_0.3.1-1ubuntu4_i386.deb
scim-chinese_0.5.91-0ubuntu6_all.deb
scim-gtk2-immodule_1.4.4-4ubuntu6_i386.deb
scim-modules-socket_1.4.4-4ubuntu6_i386.deb
scim-pinyin_0.5.91-0ubuntu6_i386.deb
scim-qtimm_0.9.4-0ubuntu5_i386.deb
在处理时有错误发生:
scim-chewing
scim-qtimm

2。配置字体。
sudo tar xPvf fonts配置楷体AA.tar /usr/share/language-selector/fontconfig/zh_CN
sudo fc-cache -fv

3。配置网络。
sudo pppoeconf
/etc/ppp$● sudo cat chap-secrets看以前设置的密码。

4。修改源,安装常用软件。
修改/etc/apt/source.list。使用cn99的源。aptitude安装mousepad。修复了scim的2个破损包。
安装nvidia-glx。配置显示分辨率到1280×800。/etc/X11/xorg.conf里面驱动名字修改nv成nvidia。增加所有的色彩深度1280×800项目。
wget http://www.opera.com/download/get.pl?id=28354&location=16&nothanks=yes&sub=marine
cedega_4.4-2_i386.deb, w32codecs_20050412-0unofficialubuntu3_i386.deb,
im-switch, wine, xvidcap, amule, beep-media-player, totem-xine, libxine-extracodecs, vim-gnome, unrar, samba, gsambad(测试), imagemagick, gftp, meld

5。安装gdm主题

6。安装beryl

新安装的edgy,终于正常了。 星期日, 10月 29th, 2006

之前升级的edgy,有几个问题。
安装nvidia的beta的时候,可能更新的次序不对,结果被强行安装了386内核,而且generic不能启动,导致双核CPU不认识。还有就是启动慢和SAMBA安装不了。

新系统安装beryl的标准次序是:
http://doc.gwos.org/index.php/BerylOnEdgy

http://forum.ubuntu.org.cn/viewtopic.php?t=28070&highlight=%E7%81%AB%E7%84%B0

用vim替代source insight 星期五, 10月 20th, 2006

用vim替代source insight
Created 星期五 20/10/2006 14:59

在浏览和修改稍微复杂的程序时候,确实source insight是个非常好的工具。转到Linux以后,我一直在找替代工具。最先是等anjuta,结果苦苦等到了一个鸡肋的2.02。然后,认真配置了下wine,用wine把si跑了起来,只是si的开发有些非常规,就算在win下面,中文注视等都是类似半角汉字的那样,而且,在实际使用中,快速查找参考的功能,有bug,曾经搞得我冒汗。试想下,你在一堆源码里面通篇修改了一个变量的处理方式,等一个星期以后,发现si原来的搜索不全,有2个需要修改的地方漏了,不冒汗才怪。(anjuta也有类似的问题)。

我当初使用vi,纯粹是为了能在任何时候(比如tty下面)都有个熟悉的编辑器而已。偶尔一次看到了别人的vim的截图,发现支持一些函数列表,就赶紧搜索了一下,首先找到了一个中文的vim在线帮助(我已经贴论坛了),有了中文帮助,当然中国人才最能理解其中的命令的确切含义,不想读英文帮助,半懂而已。想起以前,看fvwm的英文帮助,是何等的艰难。这下终于开始了逐篇的阅读。才慢慢熟练了:h查找帮助的方法。通过2天的奋斗,几乎读完了在线帮助,搜索了几个小时的vim.org的插件。才发现vim竟然完全可以达到si的常用的那些非常有特色的功能。虽然界面还是有些简陋。Smile

下面列举一下我认为需要实现的si的功能:
1。函数和变量的定义的即时浏览。这个是非常有用的功能。成千的变量,对于C/C++来说,一个类型错误都可能导致极难发现的问题,运行时出现无法预料的结果。vim里面使用taglist实现的。并且多个文件的列表都在一起,还可以按照类型折叠,以便于浏览。

2。变量调用的通篇搜索。涉及到一个全局变量的时候,可能10来个文件包括。排错的时候,需要一个一个的地方去认真确认的。在vim.org搜索的结果是,中文都支持不好,因为多数使用外部的grep。后来憋了很久,仔细研究了别人的插件,自己写个简单的,调用vimgrep,这样中文就显示完美了。

3。函数和类/结构成员的补全。我的结构经常是2到3层的套用,加上经常用到相对地址的宏定义,经常是一个变量一长串的。自己输入真的苦难,有点想碰死的感觉。vim本身就带了全能补全,就是C-x C-o,我把这个绑定到F8就是了。vim.org里面的一些补全的插件,我都试过,发现就本身的这个好。

4。方便的快速查找。一个变量不要输入,光标定位后,按键就可以上下搜索。vim里面直接就是#*索引当前词,我还加了mark插件和设置了incsearch参数和hlsearch参数。就更加直观了。

5。文件内部的函数和变量列表。长长的文件,几十个函数的时候,没有一个列表,会头晕的。这里使用taglist插件实现就是。

6。函数和变量的上下层调用的结构关系图。这个在vim的字符方式下,还是比较不直观的。不好实现。

7。函数和不同变量的颜色定义,包括字体,阴影效果以及定义的继承性能。这个是GUI的强项。vim还作不到这么好。

接着就说说vim的配置。
其实vim的配置很简单,而且规范。插件,比如*.vim文件放到~/.vim/plugins下面;文档放到~/.vim/doc里面;颜色配置放到~/.vim/syntax里面。主配置文件就是~/.vimrc。下面先列出vimrc文件。比较简单。
------------------------------
[code]$● cat ~/.vimrc
" 开启语法高亮
syntax on
" 设置文字编码自动识别
set fencs=utf-8,cp936
" 使用鼠标
set mouse=a
" 设置高亮搜索
set hlsearch
" 输入字符串就显示匹配点
set incsearch
" 输入的命令显示出来,看的清楚些。
set showcmd
" Tlist的内部变量。函数列表。
let Tlist_Use_Right_Window=1
let Tlist_File_Fold_Auto_Close=1
" 打开当前目录文件列表
map <F3> :e .<CR>
" 函数和变量列表
map <F4> :Tlist<CR>
" 搜索当前词,并打开quickfix窗口
map <F5> :call Search_Word()<CR>
" 全能补全
inoremap <F8> <C-x><C-o>
" 没事,鼠标画线玩的。
" noremap <F9> :call ToggleSketch()<CR>
" 关闭窗口
map <F9> :close<CR>
" 启动函数变量快速浏览的时间设置
set updatetime=100

-------------------------------

列出现在使用的插件。其中AutoExplorer和Search_Word,一个是在线帮助里面的,一个是我自己写的。其他的都是vim.org下的。下载的插件如果是压缩包,把里面的*.vim文件放出来就是,下次启动vim,这些功能就自动被读入并执行了。本身*.vim文件里面就都有用法帮助的。
[code]$● l ~/.vim/plugin/
AutoExplorer.vim EnhancedCommentify.vim Search_Word.vim tabbar.vim
bufexplorer.vim mark.vim sketch.vim taglist.vim
[/code]

我自己写的那个简单得很。
[code]$● cat ~/.vim/plugin/Search_Word.vim
" au! QuickFixCmdPre *.[ch] call Search_Word()
func Search_Word()
let w = expand("<cword>") " 在当前光标位置抓词
exe "vimgrep " w " *.c *.h"
exe 'copen'
endfun
[/code]
插件说明:

引用:
插件名称 说明 主要按键
-------------------------------------------------
EnhancedCommentify 当前行或者多行可视模式下的注释/反注释 \x
SuperTab 在插入状态使用TAB键补全,现在被自己定义的F8代替了 <TAB>
taglist 函数和变量定义的窗口,并可以双击跳转 :TlistToggle绑定到F4
tabbar 用标签窗口形式,显示打开的文件 Alt-1,2切换
AutoExplorer help里面剔出的快速浏览函数和变量的定义
bufexplorer 浏览打开的缓冲文件 \be \bv \bs
mark 不同颜色标记当前词,支持多次高亮标记 \m
sketch 可切换到鼠标画线,好玩的功能而已 F9绑定
Search_Word 自己写的简单的函数,搜索当前词,在quickfix窗口显示 F5绑定

给出一个截图。


-->

暂时写这么多。有需要再以后补充。

vim::plugin::define 星期五, 10月 20th, 2006

在vim.org游了好久,没找到一个适合的grep插件。主要都是中文结果乱码,以及操作不很习惯,定义复杂。自己仔细看了一下help的说明,写了一个“类”插件,竟然工作得爽快。只要按F5就可以搜索当前光标所在词的grep结果,并可以选择跳转。其中vimgrep没加j的参数。光标取词,也没作有效的判断,因为这个不重要,一般自己操作的时候,已经目的性很强了,就是要搜索当前词嘛,不判断的结果,最多就是出个空的窗口而已。Smile

在vimrc里面这样定义:

” 搜索当前词,并打开quickfix窗口
map <F5> :call Search_Word()<CR>

在插件目录加了一个vim文件:

$● cat /home/exp/.vim/plugin/Search_Word.vim
” au! QuickFixCmdPre *.[ch] call Search_Word()
func Search_Word()
let w = expand(”<cword>”) ” 在当前光标位置抓词
exe “vimgrep ” w ” *.c *.h”
exe ‘copen’
endfun


–>

vim::plugin 星期四, 10月 19th, 2006

Laughing

弹出被锁住的光盘;转换VCD到MPEG4文件。 星期六, 10月 14th, 2006

01:16:48-exp~$● sudo umount /media/cdrom0/ -l
01:25:20-exp~$● eject
01:25:31-exp~$● mencoder vcd://2 -o 小熊维尼之长鼻怪大冒险-1.mpeg4 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=900 -oac mp3lame

16:05:49-exp~$● mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1200 -oac mp3lame -o 飞行家族.mpeg4

休眠 星期一, 10月 2nd, 2006

代码:
$ cat /sys/power/state
standby mem disk
代码:
$ diff acpi-support acpi-support~
3c3
< ACPI_SLEEP=true

> #ACPI_SLEEP=true
10c10
< ACPI_SLEEP_MODE=disk

> ACPI_SLEEP_MODE=mem  <<<<<<<recovery now
69,70c69
< ENABLE_LAPTOP_MODE=true
< #false

> ENABLE_LAPTOP_MODE=false

没用。不能休眠。

倒是设置这个。Fn+Zz按键有效了。


–>