2005年11月07日

It is said that success is not difficutl.One man who has lived with many successful man wrote a book to uncover this mystery.

The man found,the successful men are very self-confidence,they consider success is natural and right.the man felt strange.later,he has studied the problem and written a book.

He said,there is a wrong idea that only not ordinary man can success.The successful men must have some special characters.for example,fastening the hair on the roof beam ,or stabbing the thigh to stopping sleeping.The man said that is not true.In fact,the successful man is real ordinary men.If there is differencies,those are that the successful men are all insisting on their affairs.they don’t hesitate or swing on their aim.

2005年10月18日

FVWM新手入门不完全手册


<
>Fvwm是什么?哪里可以下载?

Fvwm
是一种窗口管理器,它可以方便的管理系统的资源。gnomekde是桌面系统,这是两个不同的概念。桌面系统可以调用不同的窗口管理器,这就是为什么gnome系统可以有metacityswafish两种不同的WM可以选择。
现在WM很多,但是Fvwm作为一种历史比较悠久的WM,其最大的优点就是:可完全定制,节省系统资源开销。而且它的界面也可以做得非常漂亮。
Fvwm
的抓图地址:http://www.fvwm.org/screenshots/index.php
Fvwm
下载地址在:http://www.fvwm.org/download/index.php
gzbz2两种文件。最好下载bz2文件,因为它压缩得比较大。(可以省点网费)

<>编译和安装过程

所有的linux软件,以源代码安装的话,都要经历三个过程,configure,make ,make install
下面以fvwm-2.5.6.tar.bz2为例子的编译安装过程。
首先cp fvwm-2.5.6.tar.bz2 /usr/local
tar jxvf fvwm-2.5.6.tar.bz2 (
/usr/local目录下面生成了fvwm2.5.6目录)
然后cd fvwm-2.5.6 再就是./configure,make ,make install
安装成功后,在/usr/local/bin的目录下面生成了一些文件,有fvwmxpmroot
你可以切换到usr/local/bin目录下面,ls fvwm*
会出来相关的生成的fvwm的文件。好了,现在fvwm已经在你的系统中成功安装了,如果遇到什么问题,也可以看看在fvwm-2.5.6中的INSTALL文件。

<>启动Fvwm

经常看到很多人问这个问题,在linuxsirlinuxeden以及linuxfans上都有人在问这样的问题,实际上,我第一次用fvwm的时候,也不知道怎么来启动它,不过有一次在安装windowmaker的时候,误打误撞的受到了启发。知道了以命令行的方式来启动fvwm。首先设置你的系统启动方式是命令行:在/etc/inittab文件中,设置以命令行的方式来启动id:3:initdefault,然后把 /etc/X11/xinit/xinitrc这个文件备份,最好改成xinitrc.old,,然后在/root或者是/home/usrname/下面建立一个.xinitrc文件,在里面写入:exec fvwm保存,然后以startx的方式,就进入了fvwm 。这种方式对我来说比较适用,因为我很少用gnomekde,对于那些想在多种系统中切换的朋友,可能有些麻烦。因为你想进入gnomekde的时候,还要重新把xinitrc.old改成xinitrc,然后要把根目录下面的.xinitrc文件改名。

<>FVWM的配置文件

当你进入Fvwm后,你会发现它缺省的配置是很简陋的。在/usr/local/fvwm-2.5.6/sample.fvwmrc目录下面有些配置文件,比如:system.fvwm2rc等,你可以把这些文件copy/root/.fvwm目录下面去(如果这个目录没有,你要自己建立一个),并改名为:.fvwm2rc,再进入fvwm,看是否发生了些什么变化,是不是变得稍微好看了点:)不过还是很简陋:(
fvwm
正是因为它可以完全被定制,所以它的缺省的配置就很简单,一切都可以按照你自己的意思来办,它可以模拟任何的系统,这就是它最大的优点。
aftstepwindowmaker相比,它们都有固定模式,而且缺省的配置界面已经很漂亮了,改动也比较困难。即使是换了不同的主题,也是换汤不换药。Afterstep一启动就要启动wharfwindowmaker一看,你就知道它是windowmaker,但是fvwm模拟的系统,让你总有一种新鲜的感觉。不过关于界面美观的问题,是仁者见仁,智者见智。其实我们用wm的目的是用来管理我们的系统,让我们能更好的学习和工作。一味的追求界面的美观,是没有必要的。不过正是因为fvwm可以完全被定制,也给它的配置带来了很多困难。它需要你自己来配置,这对新手来说是很困难的,不过好在有些高手已经给我们配置了。下面这个配置文件是一位高手配置的,下载地址在:http: //learn.tsinghua.edu.cn/homepage/015450/src/.fvwm2rc

<>Fvwm的配置初步分析

只要一个.fvwm2rc文件,fvwm就可以现实出非常漂亮的界面,一切按照你自己的意思来现实,这对个人来说是比较适用了,也比较人性的。下面我将详细的分析一下我自己的一份.fvwm2rc文件。
Fvwm.fvwm2rc来说,最重要的几个设置是:
icons
----定义系统要用到的图标,这个很重要(在www.kde-look.org中可以下载一些
icon

Menu
-----系统的菜单,让你把一些常用的软件和工具直接在Menu启动,是不是很
方便:)
FvwmButtons
----以图标的形式来装饰系统,也可以把一些dockapp欠入其中,同时也
可以在你按下mouse的时候启动相应的程序。
FvwmPager
----用来设置deskpager,让你方便的在不同的虚拟桌面之间切换。
FvwmTaskBar
-----任务条,和window一样的任务条
FvwmWharf
-------这个和Afterstepwharf一样的,正因为有这个,
fvwm
模拟afterstep就非常的容易了:)

<>Fvwm的相关资源

说了这么多,也许你有点疲惫了,看看我的一些Fvwm的主题吧,在linuxsir上我发过一些抓图
 
<
>Fvwm的详细配置

(以我自己配置的.fvwm2rc为例子)。注意:以“#”开头的为注释部分,*开头的一般为Fvwm的模块的相关的设置。

1.icons
设置:(定义了系统需要的一些icons的连接地址)

ImagePath +:/root/pic
ImagePath +:/usr/local/AquaFusion/22×22/devices
ImagePath +:/usr/local/AquaFusion/22×22/apps
ImagePath +:/usr/local/AquaFusion/22×22/filesystems
ImagePath +:/usr/local/AquaFusion/22×22/actions
如果你自己设置的时候,这些地址要存在才行。

2.Menu
的配置

首先是MenuStyle
MenuStyle * Foreground white, Background gray40
Menustyle * fvwm, Font -adobe-times-bold-r-*-*-14-*-*-*-*-*-*-*
MenuStyle * HilightBackOff, Hilight3DThickness -3, ActiveForeOff, PopupOffset -3 100
MenuStyle * ItemFormat "%s%10p%|%i%12p%l%|%6p%>%10p%s"
MenuStyle * ActiveFore #49C671
MenuStyle * MenuFace VGradient 64 darkgray MidnightBlue
MenuStyle * MenuFace TiledPixmap /root/pic/macblack.png
ButtonStyle All — UseTitleStyle
ButtonStyle All ActiveDown VGradient 8 palevioletred black
其中分别是定义了menu的颜色方案,具体的通过文字,也可以知道它的意思了,
MenuStyle * MenuFace TiledPixmap
/root/pic/macblack.png
对于这句设置是:以一张png的图片作为Menu的背景,让Menu看起来很有质感,甚至可以达到透明的效果。是不是很cool??这里是我的设置,你可以选择一张你自己喜欢的png或者是xpm图片作为Menu的背景。

上面是定义了MenuStyle,下面将给出菜单的详细内容:

#################### Menus ###################
DestroyMenu RootMenu
AddToMenu RootMenu "Root Menu" Title
+ "&aterm%kcontrol.png%" Exec exec aterm
+ "&gnome-terminal%gnome-apps.png%" Exec exec gnome-terminal
+ "konsole%xconsole.png%" Exec exec konsole
+ "" Nop
+ "&Programs%hancom.png%" Popup ProgramsMenu
+ "&Utilities%kdmconfig.png%" Popup Utilities
+ "" Nop
+ "Re&fresh Screen%kbabeldict.png%" Refresh
+ "" Nop
+ "&Lock%lock.png%" Exec exec xscreensaver-command -lock
+ "ExitFvwm%terminal.png%" Popup Quit-Verify

DestroyMenu ProgramsMenu
AddToMenu "ProgramsMenu" "Choose-Pro%view_icon.png%" Title
+ "gedit%editshred.png%" Exec exec gedit
+ "emacs%emacs.png" Exec exec emacs
+ "&gqview%xpaint.png" Exec exec gqview
+ "&xpdf%xchat.png%" Exec exec xpdf
+ "x&mms%xmms.png%" Exec exec xmms
+ "stardict%kdat.png%" Exec exec stardict
+ "mo&zilla%netscape.png%" Exec exec mozilla
+ "&Gimp%gimp.png%" Exec exec gimp
+ "xload%xsane.png%" Exec exec xload
+ "gkrellm%gnomemeeting.png%" Exec exec gkrellm

DestroyMenu Utilities
AddToMenu Utilities "Utilities%scanner.png%" Title
+ "Top%folder_mediumgreen.png%" Exec exec xterm -T Top -n Top -e top
+ "xcalc%xcalc.png%" Exec exec xcalc
+ "Xman%folder_burntorange.png%" Exec exec xman
+ "xclipboard%classic_mac.png%" Exec exec xclipboard &
+ "konqueror%go.png%" Exec exec konqueror
+ "" Nop
+ "wmtimer%babelfish.png%" Exec exec wmtimer &

+ "kcontrol%kopete.png%" Exec exec kcontrol

+ "xlogo%x.png%" Exec exec xlogo
+ "Captura%kcmkwm.png%" Exec captura
+ "FvwmCommand%xterm.png%" Module FvwmConsole -terminal aterm -geometry 45×5-0+0
\
-bg gold2 -fg midnightblue \
-fn "-adobe-courier-medium-r-*-*-14-*-*-*-*-*-*-*"


DestroyMenu Quit-Verify
AddToMenu Quit-Verify "Choose%xconsole.png%" Title
+ "Yes, Really Quit%xchat.png%" Quit
+ "Restart Fvwm2%kstars.png%" Restart fvwm2
+ "No, Don’t Quit%hancom.png%" Nop
其中+ "&aterm%kcontrol.png%" Exec exec
aterm
,前面为aterm,后面的png图片kcontrol.png将在菜单中出现在文字的前面。后面的Exec
exec
将执行aterm这个命令。依次类推,后边都是如此。

+ "FvwmCommand%xterm.png%" Module FvwmConsole -terminal aterm -geometry
45×15-0+0 \
-bg black -fg white \
-fn "-adobe-courier-medium-r-*-*-14-*-*-*-*-*-*-*"

启动了一个FvwmCommandFvwmCommand是不能在xterm中启动,它只能通过菜单,或者是Modules来启动。
这里定义了一个FvwmCommand,它的背景颜色是黑色(black)字体颜色是白色。字体为:-adobe-courier-medium-r-* -*-14-*-*-*-*-*-*-*,大小是45×15,位置是-0+0,屏幕的右上角,你在上面的那张图中可以看到它的效果。当然你可以改变这个坐标的位置,让它出现在你希望出现的地方。
FvwmCommand
能很好的和Fvwm通讯,在其中输入Fvwm的相关模块能直接执行。比如在FvwmCommand中输入: FvwmTaskBar,它就能直接调出Fvwm的任务条,当你的配置文件出了问题,或者无法调出相关的模块的时候,你可以开启一个 FvwmCommand来,直接调出相关的模块。这样是不是很方便:)。菜单的定义就是这样的,其实很简单,看看我的菜单的效果吧:


3.FvwmButtons
的设置

你看到的上图中,在屏幕最底部有一排图标,就是FvwmButtons的现实效果,怎么样,漂亮吗??其中还有2dockapp,分别用来显示cpu和内存的使用情况。(这两个程序是wmcpuloadwmmemload。下载地址在:http://dockapps.org。详细配置文件如下:

################## FvwmButtons ##############################
# Colors
,设置FvwmButtons的颜色
*FvwmButtonsFore white
*FvwmButtonsBack white
#
用一张xpm图片作为FvwmButtons的背景,用些你喜欢的图片实现很玄的效果:)
*FvwmButtonsPixmap /root/pic/icons/macblack_small.xpm
# Font
设置字体的大小
*FvwmButtonsFont 5×8

#设置FvwmButtons的出现在屏幕的位置,+250-0的坐标刚好在屏幕的底部中间位置。
*FvwmButtonsGeometry +250-0
*FvwmButtonsColumns 7 #
设置FvwmButtons为七列,一行
*FvwmButtonsRows 1

*FvwmButtons(Title Nautilus, Icon evolution.png, Action ‘Exec nautilus &’)
*FvwmButtons(Swallow "wmcpuload" "Exec wmcpuload -w &")
*FvwmButtons(Title xmms, Icon noatun.png, Action ‘Exec xmms &’)
*FvwmButtons(Title gqview, Icon fish.png, Action ‘Exec gqview &’)
#*FvwmButtons(Title kmail, Icon arson.png, Action ‘Exec kmail &’)
*FvwmButtons(Swallow "wmmemload" "Exec wmmemload -w &")
*FvwmButtons(Title Terminal, Icon log.png, Action ‘Exec gnome-terminal &’)
上面各项中,分别为Title的名字,然后就是相应的图标,然后就是Action,当你用鼠标点击它的时候,执行相应的操作。

小结:FvwmButtons这个模块的功能非常的强大,你可以在其中欠入FvwmPager或者是FvwmWinList等,具体的可以参考Fvwmman手册。

4.FvwmPager
的设置,通过这个模块,可以实现虚拟桌面的切换,您看到的上图中,屏幕的左上角,就是一个Pager,具体设置如下:

########################### Pager #########################################
*FvwmPager: Rows 1
*FvwmPager: Columns 1 #
设置它为一行和一列,当然你可以设置成其它的数字。
*FvwmPagerFore white #
聚焦的时候为白色
#
用一张png图片作为FvwmPager的背景,可以实现很漂亮的效果。
*FvwmPagerPixmap /root/pic/macblack.png
#
定义FvwmPager出现在屏幕的位置
*FvwmPagerGeometry +5+5
*FvwmPagerBack #909090 #
它的背景颜色,其实设置了pixmap后,这项已经不重要了
*FvwmPager:Font -*-fixed-medium-r-semicondensed-*-13-*-gb2312.1980-0
*FvwmPagerHilight #808080

*FvwmPagerLabel 0 MyFvwm 显示pager的名字
#*FvwmPagerLabel 1 MyFvwm
#*FvwmPagerLabel 2 Program
#*FvwmPagerLabel 3 Myfavorite
*FvwmPager:SmallFont -*-fixed-medium-r-semicondensed-*-13-*-gb2312.1980-0
*FvwmPagerBalloons All
*FvwmPagerBalloonBack white
*FvwmPagerBalloonFore black
*FvwmPager:BalloonFont -*-fixed-medium-r-semicondensed-*-13-*-gb2312.1980-0

*FvwmPagerBalloonBorderWidth 0
*FvwmPagerBalloonBorderColor white
FvwmPager
还可以欠入在FvwmButtons中来显示,具体可以参考man手册。

5.FvwmTaskBar
,这个模块,我用得不是很好,配置出来的任务条象win2000的,所以我不大喜欢,不过有些人用了些特殊的程序,象perl,实现了很漂亮的FvwmTaskBar,可以看看下面的抓图:
http://www.fvwm.org/screenshots/Mikhael-desk-1280×1024.php

相关的配置文件如下:
Style FvwmTaskBar HandleWidth 0, BorderWidth 0
*FvwmTaskBar: UseSkipList
*FvwmTaskBar: AutoStick
*FvwmTaskBar: DeskOnly
#*FvwmTaskBar: Action Click1 DeiconifyRaiseAndFocus
*FvwmTaskBar: Action Click2 Iconify On
*FvwmTaskBar: Action Click3 Lower
#*FvwmTaskBar: Action Click3 FvwmIdent
*FvwmTaskBar: MailCommand Exec exec rxvt -e mutt
*FvwmTaskBar: 3DFvwm
*FvwmTaskBar: StartName FVWM
*FvwmTaskBar: StartMenu RootMenu
*FvwmTaskBar: Font -*-simsun-medium-r-*-*-14-*-*-*-*-*-*-*
#*FvwmTaskBar: Font "xft:Luxi Mono"
*FvwmTaskBar: SelFont -*-simsun-medium-r-*-*-14-*-*-*-*-*-*-*
*FvwmTaskBar: ShowTips
*FvwmTaskBar: ClockFormat
*FvwmTaskBar: WindowButtonsRightMargin 20

*FvwmTaskBar: Back seagreen
*FvwmTaskBar: Fore gold2
*FvwmTaskBar: FocusFore cornsilk
*FvwmTaskBar: IconBack darkgreen
*FvwmTaskBar: IconFore white

#*FvwmTaskBar: Button Title hello, Icon mini.x.xpm, Action (Mouse 1) Module
FvwmConsole
#*FvwmTaskBar: DateFormat "%A, %B %d, %Y"
#*FvwmTaskBar: WindowButtonsLeftMargin 20
#*FvwmTaskBar: HighlightFocus
#*FvwmTaskBar: AutoHide 6
 
6.
关于FvwmWharf,这个模块挺不错的,可以实现很复杂的功能,象一个抽屉似的。把一些图标藏在其中。具体配置文件如下:

Style "FvwmWharf" NoTitle,NoHandles, Sticky, WindowListSkip,BorderWidth
0,CirculateSkip

DestroyModuleConfig FvwmWharf: *
*FvwmWharf: Animate
*FvwmWharf: AnimateMain
*FvwmWharf: Geometry -7-316
*FvwmWharf: Columns 1
*FvwmWharf: Bgcolor Grey70
*WharfBalloonFore Black
*WharfBalloonBack Grey70

#*FvwmWharf: Bgcolor #000000
*FvwmWharf: Colorset #000000
*FvwmWharf: FullPush
*FvwmPagerFore:Black
*FvwmWharf: TextureType 128
#
用一张xpm图片作为它的背景,这个可以实现很好的视觉效果。
*FvwmWharfPixmap /root/pic/icons/s11.xpm

*FvwmWharf asclock nil MaxSwallow "asclock" asclock &
*FvwmWharf wmitime nil MaxSwallow "wmitime" wmitime &
*FvwmWharf bubblemon nil MaxSwallow "bubblemon" bubblemon &
*FvwmWharf wmusic nil MaxSwallow "wmusic" wmusic -w

*FvwmWharf a kmenu.png Folder
*FvwmWharf Exit xchat.png FvwmForm FvwmForm-QuitVerify
*FvwmWharf Recycler software_update.png Restart
*FvwmWharf lock Classic.png Exec exec xscreensaver-command -lock
*FvwmWharf ~Folder

*FvwmWharf b qtella.png, Folder
*FvwmWharf aterm gaim2.png Exec exec aterm &
*FvwmWharf konqueror go.png Exec exec konqueror &
*FvwmWharf gedit emacs.png Exec exec gedit &
*FvwmWharf xmms xmms.png Exec exec xmms &
*FvwmWharf gnome-terminal gnome-apps.png Exec exec gnome-terminal &
*FvwmWharf ~Folder

*FvwmWharf wmnotify nil MaxSwallow "wmnotify" wmnotify &

上面用到的一些pngxpm文件,它们的路径您必需在iconspath中设置好,否则会无法显示。

<>Fvwm的相关FAQ

1.
启动相应的模块

所有的Fvwm的模块,只有在函数中启动了它们,它们才能够工作,在.fvwm2rc文件中,如果您需要用到FvwmButtons,或者其它的模块,必需要先启动它。具体如下:
DestroyFunc StartFunction
AddToFunc StartFunction
+ I Module FvwmButtons
+ I Module FvwmPager
+ I Module FvwmAuto 500 Raise Nop
+ I Module FvwmAnimate
+ I Module FvwmTaskBar
+ I Module FvwmWharf
+ I Exec exec xpmroot /root/pic/macblack.png
I
表示:立即执行,上面的配置中,分别在启动函数中,启动了FvwmButtonsFvwmPagerFvwmAnimate FvwmTaskBarFvwmWharf等,五个模块。同时,你有什么程序需要在fvwm启动的时候执行,你可以在其中加入一行:比如我想在fvwm 启动的时候启动gkrellm
I Exec exec gkrellm ok了:)

2.
给桌面设置背景

缺省的fvwm是没有设置桌面背景的,最多是些颜色的设置,其实fvwm可以用清晰度很高的png或者是xpm图片作为背景。最直接的一种方法是:用xpmroot程序,它是fvwm自带开启一个xterm,在其中输入:xpmroot filename.png 马上就能把该图片设置成桌面的背景,也可以在启动函数中加入:+ I Exec exec xpmroot /root/pic/macblack.png

<>fvwm-themes的下载

fvwm-themes
是一个fvwm的主题的软件,它需要另外的下载,而且要编译,安装。具体设置如下:

1.
下载

fvwm-themes
的下载地址 http://sourceforge.net/projects/fvwm-themes
你需要下载两个文件,分别是:
fvwm-themes-0.6.2.tar.bz2
fvwm-themes-extra-0.6.2.tar.bz2

2.
编译安装:

cp fvwm-themes0.6.2.bz2 /usr/local
tar jxvf fvwm-themes-0.6.2.bz2
./configure,make ,make install
这时,你可以切换到/usr/local/share/fvwm/themes目录下面去,可以发现,已经出现了几个目录,不错,它们就是fvwm的主题。
接下来安装extra的主题。找到 fvwm-themes-extra-0.6.2.tar.bz2 的存放目录,然后
fvwm-themes-config –site –install fvwm-themes-extra-0.6.2.tar.bz2
系统会自动帮你安装这些扩展的主题到/usr/local/share/fvwm/themes目录下面去。

3.
启动fvwm-themes

启动方式和启动fvwm的方式是一样的,把/etc/X11/xinit/xinitrc 改名为:xinitrc.old
然后在根目录下面建立一个.xinitrc 文件,在其中写入:fvwm-themes-start ok
在命令行下面输入:startx,就启动了fvwm-themes。它提供了不少的主题,你也可以自己制作自己喜欢的主题:)

自带的gpdf不支持页面连续浏览很不爽,安装xpdf、xpdf-chinese-simplified 、xpdf-common、 cmap-adobe-gb1 等中文字体,然后在你的~/.Xdefaults(没有就建一个)里面添加
xpdf*.fontList:-adobe-helvetica-medium-r-normal–12-*-*-*-*-*-iso8859-1;-*-simsun-medium-r-normal–12-*-*-*-*-*-gbk-0:
这是一行,注意标点,字体只要你有就可以,用分号隔开,末尾的冒号不能少
然后在.bashrc 里面加上xrdb -merge .Xdefaults 
[参考文章]x-4-1-2,因为用的gnome,所以有些不同,虽然这样也解决了书签显示问题,但是不爽的是每次只有启动终端之后才有效,不知有没有更好的方法,或者写一个自启动脚本?
如果想用gpdf显示中文标签,可以#cp /etc/xpdf/xpdfrc ..   然后vi /etc/xpdfrc 将textEncoding 编码改为GBK。

2005年10月14日

在安装好之后,可用base-config重新设置apt源等一些项目。
另一点,设置显示器时,我是用的midum选项,否则实在看不懂一些东东。
要让鼠标滚动轮生效,设置时用imps协议。

2005年10月10日

(setq load-path (cons "~/emacs" load-path))
(require ‘extensionfile)

texmflocal 是默认为texmf-local,放置与版本无关的文件,可以放置在一个与现在版末无关的地方。
vartexmf放置与版本相关的文件。

texlive中文设置:
下载gbkfonts,处理中文字体,没有simsun.ttf,用simsun.ttc改名也可以。
按王垠主页上的做法,拷贝相关目录 到texmflocal目录下。
而产生的相关文件也是拷贝至texmflocal相关目录下或与原文件结合。
我对相关目录模糊了半天,现在总算是有了一点映象。

好长时间没有用C++了,语法倒没忘,可是标准库却忘得差不多了。于是找来一本书,《C++ primer》,是C++领域的一位大拿写的,stan lippman.
vector:
size()返回目前vector的尺寸。
capacity()返回vector的容量。list是不支持这一操作的。原因的显然 的。
push_back(T)不知这里的T是不是const T.
reserve(int size)将capacity设置成指定值。
empty()判断容器是否为空。
resize(int newsize)改变capacity的值。
容器的逻辑比较:
== != < > >= <=.
其实 是元素的比较。元素必须支持以一操作:
一,等于
二,小于。
三,支持一个缺省值。(对于类而言,有缺省的构造函数)。
iterator:
除了iterator外,容器还定义了一个const_iterator类型,这对于遍历const容器是必须的。
可以用标量运算使iterator从当前位置偏移到某个位置上,这只适用于vector和deque.不适用于list.
流的iterator:
例子:
istream_iterator<string> infile(cin);
istream_iterator<string> eos;//这个地方不太明白。
vector<string> svec(infile,eos);
更通用的插入。
insert(iterator pos,T value);
在指定位置的前面插入。
所以push_back(T)相当于insert(vec.end(),T);
insert还支持在指定位置前插入指定数量的元素。

删除操作:
erase(iterator pos);
erase(iterator begin,eterator end);
pop_back()删除末尾元素,不返回。

赋值和对换:
=
swap()赋值操作的互补,互换内容,长度为被拷贝容器的长度。


泛型算法:
find
copy.

存储文本行:
istream& getline(istream& is,string str,char delimiter);

例:
ifstream infile(file_name.c_str(),ios::in);
vector<string,allocator>* line_of_text=new vector<string,allocator>;


while(getline(infile,textline,’\n’))


2005年10月04日

chm文件查看还是用chmsee的好,在相关网站上下载对应的deb文件,用dpkg -t package-name安装。
下载工具还是wget好,可以断点续传。十分稳定。

2005年10月03日

我之前一直使用redhat,最初以为redhat是很麻烦的了,当然是相对于windows而言了。可是用了一段时间的redhat后,还是觉得有不少
遗憾,主要原因是我买的redhat是盗版的。听说debian是GNU软件,而且维护者也是非赢利的机构。所以一直想试一试,恰逢十一放假,真是天赐良
机。
试了几遍才成功。以下是步骤和注意事项:

一,在www.debian.org上找到一个镜像站点,选的是一个中国的站点,下了一个iso文件,大约600多兆,刻在一张盘子上正好。用这张光盘启
到就可以安装了。在“百度”上用“debian
安装"作为关键词搜索,可以找到很多关于安装过程的文章,其中有的居然有拷屏图片,不知是怎么搞到的。其中很多文章讲的是如何用硬盘安装。但我暂时没兴趣
做这种试验了。

二,安装过程中,有一个设置网络的过程。我的电脑是静态ip地址,可是在头几次安装中,debian安装程序自动寻找dhcp服务器,居然每次都说找到并
自动进行了配置,可是事后又上不了网,真是郁闷,我又不知道在什么地方,修改什么配置文件,怎么启用配置。最后的解决方法是,先拔到网线,让自动配置失
败,然后进行手动配置,再把网线插上。

三,光盘上的内容只是debian系统的基本软件。要想好用,还得到网上下载对应的软件。这个过程debian用一个叫apt的软件管理
。在光盘上的内容安装完成之后,就会有设置apt源的提示,一般地选择http源。然后选择镜像站点。debian默认的是
security.debian.org,在我这里下载非常慢,第一次我整整下了5个小时,差点认我失去信心。

四,安装过程中出现错误是难免的,尤其是我们这种菜鸟。我的显卡型号是主板集成的
intel82845G。debian在提示显卡时没有现成的对应项,它又不是象redhat那样自动寻找并配置好,而是要安装者自己选择。我开始选的是
通用显卡vesa,结果启动xserver出错,提示找不到screens.后来在网上查到选用了i810显卡,搞定。更愚蠢的是,起先装不好,以为只能
重装,后来才在网上找到一个命令,用的是dpkg-reconfigure
xserver-xfree86。这个dpkg-reconfigure好象很有用,后面还要用到。
另外一个问题是,安装后如何在command prompt下正确显示中文字符,首先安装zhcon,然后运行zhcon.安装用的是apt-get install zhcon。系统会自动在apt源上寻找相应的软件包及相关软件安装。
寻找软件包,可用apt-cache search package-name,这里的package-name可有正则表达式。
删除软件包,可用apt-get install package-name-或apt-get remove package-name,如果连配置文件也要一起删掉,则用apt-get –purge remove package-name。

五,装好了xwindows,安装就成功了第一步,毕竟不再在是字符界面了,下面是装输入法,这在方面我又停顿了好长时间,在网上查了大量资料后才搞定
的,本来查linux资料最好是在google上用英语作为关键词,可是中文输入法的用户主要是中国人,所以只好在baidu上用中文查,可是中文输入又
没装,这让我不得不又回到windows下面去。找到方法后又回到linux中作实验。
最后问题总算是解决了,我不知道到底哪步是关键的,写下来下次也许会试试:

我装的输入法是fcitx,以前在redhat下安装很简单的,直接用rpm安装,然后用命令ln -sf fcitx
chinput建立连接,用fcitx代替chinput运行即可。在debian中,我先删除chinput:apt-get –purge
remove chinput。然后安装fcitx,apt-get -u install
fcitx,运行它fcitx,一切正常,可是用的时候就下正常了,ctrl-space了半天也没反映,气死了。最后综合网上的各种方法解决如下:
首先在/etc/X11/Xsession.d/下面创建一文件:25xfcitx
export XIM=fcitx
export XIM_PROGRAM=fcitx
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE=fcitx
export LANG=zh_CN.gbk
export LC=zh_CN.gbk
fcitx &

光这样还是不行,还要运行dpkg-reconfigure locales,在其中
选择字符集为zh_CN.gbk2312和zh_CN.gbk,默认字符 集为zh_CN.gbk,搞定,看来
dpkg-reconfigure是个很好用的工具,当然应该还有直接更改配置文件的方法,可是我暂时难以记住。
好了,装好了图形界面和输入法,有了baidu和google,后面的linux之路就比较好走了,本着来之于网,去之于网的原则,就写了这篇安装小记于此,托搜索引擎之福,也应该很容易被人知道。版权属于cyj,

在用户目录中添加.emacs文件,并加入如下内容:


;;Emacs chinese environment
(set-language-environment 'Chinese-GB)
(set-keyboard-coding-system 'euc-cn)
(set-clipboard-coding-system 'euc-cn)
(set-terminal-coding-system 'euc-cn)
(set-buffer-file-coding-system 'euc-cn)
(set-selection-coding-system 'euc-cn)
(modify-coding-system-alist 'process "*" 'euc-cn)
(setq default-process-coding-system '(euc-cn . euc-cn)) ;;从网上抄来时,.两边没有空格,这是不对的。
;;在执行命令时会提示 出错。(2005.10.10修改)
(setq-default pathname-coding-system 'euc-cn)