Emacs入门指南(2)

前面已经介绍了如何打开、保存文件,这一次我们将先介绍如何在文档中移动光标(光标在Emacs术语中表示为Point)。

你固然可以在Emacs中用习惯的光标移动键来移动光标,但这不符合Emacs“手不离主键盘”的设计理念,所以它设计了令类的光标移动方法。

最简单的移动当然就是上下左右了,对应的键是C-p, C-n, C-b, C-f,为了方便记忆,请记住pnbf是previous line、next line、backward和forward的缩写,请试着多按几次,练习一下,确保熟练。

其次就是翻页了,通常您可以用<PageDown>和<PageUp>,但Emacs的快捷键是C-v和M-v,注意这里又有一个新的表示法了,M-v,它表示按着<META>键不放,再按v键。什么是<META>键?呵呵,对大多数PC机键盘而言<META>键就是<ALT>键。您可以打开一篇长一点的文章试试,可以按C-h t打开Emacs的Tutorial来练习,不用担心不小心把它改乱了,您打开的Turtoial只是一个副本,即使改坏了存了盘,下次打开也是一个全新的没改坏的版本。

C-a和C-e可以分别把光标移动行首和行末,相当于<Home>和<End>。

如果把上面的部分命令的的Ctrl键换成Alt键,它们的功能就会发生变化:M-b,M-f,M-a,M-e分别表示前移一个单词,后移一个单词,移动到当前句子首字符和移动到当前句子最后一个字符。可以这样记忆,Ctrl键用于“物理”移动光标,以行列为单位,Alt移用于“逻辑”移动光标,以词、句子等丰富意义的单位来移动。

如果要一次移动若干个单位,可以给命令加上数值参数,通过C-u命令,如:C-u 8 C-n就表示往下移8行,C-u 10 M-e表示往后移10句。不过C-u的参数对C-v和M-v命令而言有特殊,它不表示上下翻多少页,而是表示上下滚动多少行。注意与C-n的区别,C-u 8 C-n表示光标下移8行,屏幕不一定会滚动,而C-u 8 C-v,表示屏幕滚动8行,如果光标没有滚到屏幕外的话,光标位置不变。

前面讲了用C-g可以中断当前的命令,这次再补充一点,有时候C-g不灵时,可以按三次<Esc>键达到相同的目的。

再介绍两个常用的但不太好操作的命令,M-<和M->,由于通常<和>符号分别在,和.的上面,所以实际操作时要按Alt+Shift+,和Alt+Shift+.,这两个命令分别用于移动光标到文件开始和结束的位置。

学习了不少东西,轻松一下,可以玩一下Emacs中自带的一些游戏,它们都可以在Tools菜单的Games中找到,如果你知道游戏的名称的话可以直接用命令来调用,先按下M-x,然后就可以输入任何合法的命令,如要玩贪吃蛇就可以输入snake命令。其实,Emacs的所有操作都有对应的命令名称,包括上面和即将介绍的各种快捷键,比如C-x C-s保存文件,对应的命令就是save-buffer,您完全可以键入M-x,然后输入save-buffer来执行与按C-x C-s完全相同的功能,这在忘记了快捷键的情况下十分有用。同样的,如果您记得快捷键却不知道对应的命令名,可以通过按动C-h C-k再按动相应的快捷键来查阅相关的帮助。记住,Emacs的帮助是十分详尽的,我打印了一本Emacs的手册,总共500多页,覆盖了Emacs操作的每一个细节。

下面我们要初步介绍一下如果完成类似于Windows中的撤消、剪切、复制、粘贴操作。

撤消是最简单的,快捷键是C-_,同样,由于_符号在上档位,所以要按Shift键操作,如果你觉得这样不方便,可以用C-x u,功能是一样的。同样你可以在C-_前用C-u加上一个数字参数以便一次撤消多步操作。

要在Emacs中选择一块区域,可以把光标移到区域的开始或结束位置,按下C-<SPC>或C-@(前者在Windows中可能会被切换输入法占用,所以只能用后者,同理不要忘记按Shift键,以后不再提醒),这时Emacs会提示Mark set,然后把光标移到结束位置即可。正常情况下屏幕上不会有任何反映标识说设置了一个区域。但确实这块区域已经选中了。

这时,按动C-w就可以把选中的区域kill掉,相当于我们在Windows中的剪切操作,在Emacs中Delete和Kill这两个词是有不同含义的,前者往往是指删除了,只能通过撤消操作来恢复,而后者则相当于是剪切了,可以通过一定的方法来恢复(Yank)。另外,Emacs中的剪切与传统的Windows不同,比较像新版的Office剪贴板,可以存放多次复制或剪切的东西。

要恢复最后一次Kill的内容,可以按C-y,多次按动它可以多次Yank最后一次Kill的内容,相当于在Windows中多次贴粘了一样。如果要Yank前几次Kill的内容,可以反复按M-y键。

要实现与Windows中复制相同的功能,可以在选定区域后按M-w键,它会把选定的内容放入Kill-Ring以便以后Yank但不会把选定的内容真正Kill掉。

有了以上的内容,您基本上已经可以把Emacs当作跟Windows Notepad差不多的工具来用了,更高级的功能,我们会在后面继续讲述。

巧用Windows XP网桥实现三机互联

曾经写的一篇文章,投给某杂志社的,可惜他们没要~~~

====

在现实生活中,尤其在校园里,经常会遇到要将三台计算机连接起来组成小型局域网,共享系统资源和网络资源的情况。通常实现的方法不外乎两种:一是每台计算机安装一块网卡,然后用一个集线器把它们连接起来。这样做的缺点在于100M集线器的价格对于学生来说实在是不菲,于是往往只能购买10M的集线器,无法享用高速的以太网。另一种方法就是用四块网卡把三台机器连起来,在其中一台计算机上安装两块网卡,并安装相应的网关路由软件,实现三机互连。这样做的缺点在于安装与设置比较麻烦,而且两台只安装一块网卡的计算机之间一般无法通过“网上邻居”互访。

现在有了Windows XP,它自身集成的Network Bridge(网桥)功能,完美的解决了这个问题。Windows XP的网桥提供了一种简易而又低成本的连接两个网段的功能。

假设现在有三台计算机A、B、C,其中A机上安装有两块网卡和一个调制解调器,用作服务器,B、C两台计算机分别连接在A机的两块网卡上,构成一个有两个网段的局域网。其中A机上安装的是Windows XP操作系统,BC机上的操作系统则不限。我们希望通过这样的装备,实现三机互连共享资源和上网。

我们首先来配置上网服务器,打开A机的Network Connections窗口,里面列出了当前网络连接的情况(如图一),包括一个用于上网的163拨号连接和两个局域网连接。我们先分别打开两个局域网连接(也就是对应了两块网卡)的属性对话框,对它们的Internet Protocol (TCP/IP)协议进行配置。我们把两块网卡的IP地址分别设为192.168.0.2和192.168.0.3,子网掩码为255.255.255.0,网关和DNS留空,关闭属性对话框,保存设置。

下面来配置B机和C机。分别将两台计算机的IP地址设置为192.168.0.4和192.168.0.5,子网掩码同样为255.255.255.0,网关和DNS暂时可以留空。

经过上面的操作,ABC三机之间的小型局域网就算是初步建立起来了,A与B,A与C之间均可以互相通信,但BC两机之间无法通信,暂时也还不能共享上网。下面就将要让本文的主角——Windows XP网桥——来大显身手了。

在Network Connections窗口中点住鼠标并拖动,就可以像在我的电脑中选择文件一样把两个局域网连接同时选中,单击鼠标右键,弹出了快捷菜单,里面只有一项“Bridge Connections”可用,就选择它!

经过一段时间的等待,一个名为Network Bridge的新的网络连接就建立了起来(如图二)。下面我们要做的就是对它进行一点小小的配置,右键点击Network Bridge连接,选择“Properties(属性)”,打开它的属性对话框,同样我们要对它的TCP/IP协议进行配置。我们把它的IP地址设置为192.168.0.1,子网掩码是255.255.255.0,确认关闭就行了。要注意这里的IP地址必须是192.168.0.1,这是保证后面Internet连接共享正常工作的必要条件。这时A机的IP地址就由前面的192.168.0.2和192.168.0.3两个地址统一为一个192.168.0.1,就像只安装了一块网卡一样。

好了,分别在三台计算机上打开网上邻居看看吧!怎么样,三台计算之间的通信已经建立起来了吧!如果你不能在网上邻居中看到自己或别人,可以试着刷新几次,如果没有效果,你就要自己检查一下是不是设置有什么问题,可以到DOS窗口下用PING命令测试一下网络的通断。还不要忘记检查是否打开了文件共享的功能,如果是Windows 98/Me与Windows 2000/XP互连的话,不要忘记在Windows 2000/XP的用户管理中打开GUEST账号。

剩下的任务就是共享上网了,Windows XP与Windows 2000一样也集成了网络共享的功能,使我们可以方便的共享上网资源而不必安装额外的网关或代理服务器软件。同样是在Network Connections窗口中,打开拨号上网(163)连接的属性对话框,点出Advanced(高级)页,在Internet Connection Sharing(Internet 连接共享)中选中Allow other network users to connect through this computer’s Internet connection(允许其它网络用户通过本机连接到Internet)。根据你的实际需要你还可以选中下面的两个选项,它们实现的功能分别是:1.当其它计算要通过本机上网,而本机未连接到Internet的情况下,是否要自动拨号?2.是否允许其它网络用户控制本机的Internet共享连接?

最后,在B、C两台计算机上把上网的方式改为通过局域网连接,并且在两台计算机上设置网关与DNS,把它们均设成192.168.0.1。

至此,我们的三机通过Windows XP的网桥互连的工作就全部完成了,三台计算机就像是通过HUB相连一样,可以互相访问,共享资源了。

当你想断开B、C之间的连接时,你可以直接在A计算机上将网关连接删除,由于我们在前面的操作中为每一块网卡分别设置了IP地址,所以A与B、A与C的连接仍然可以工作。要恢复B、C间的连接也很简单,只需重新建一下网桥,设置一下IP就可以了。

Windows XP不但支持三机互连,还可以把更多的机器连接在一起,操作与三机互连也是完全一致的。当然如果机器超过4台时,这个方法就不实用了,与其多购买那么多的网卡(况且机器上的PCI插槽个数也是有限的),不如直接使用集线器或交换机了,还可以获得更好的网络性能。

要想获得有关这个网桥功能的更为详细的说明,你还可以自己参考一下Windows XP的联机帮助,里面详细介绍了网桥的使用和设置等多方面的问题。

移植智能ABC输入法到Windows XP

又是一篇没有被杂志社录用的文章,其实我觉得这文章还是挺有用的~~~

====

Windows XP中文版虽然还没有正式发布,但相信不少电脑爱好者早就在使用一个版本号为6.0.2600.0的英文版Windows XP了。习惯使用智能ABC输入法的朋友们一定发现了一个严重的问题:Windows XP中没有智能ABC输入法,倒是新版的微软拼音成了默认的中文输入法。如何才能在Windows XP中使用智能ABC已经成了一个当务之急。经过反复的试验,我终于找到了能让智能ABC输入法在XP中正常工作的方法。

首先,要设法取得智能ABC的输入法文件(IME文件)及相关的辅助文件。这些文件可以从以前版本的Windows 98/Me/2000中获得,智能ABC输入法包括winabc.ime、winabc.ovl、winabc.hlp等一批文件,用查找文件工具查找所有文件名为winabc的文件就可以了,一般可以找到5个文件,它们通常是位于Win98/Me的System文件夹和HELP文件夹中或是在Windows 2000的SYSTEM32文件夹中。

找到这些文件后,把它们复制到Windows XP的system32文件夹中。但仅仅这样做,还是不能在Windows XP的文字服务中把智能ABC输入法添加进来。

下面的工作就是要修改注册表了。在Windows XP中运行regedit注册表编辑器,依次展开My Computer/HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/Keyboard Layouts,这时你可以看到系统列出了一系列的主键,这每一个键就对应了一种输入法,其中键名以0804结尾的键对应了简体中文输入法。

现在我们要做的就是在Keyboard Layouts中建一个新的键,比如叫E0110804,根据我的试验,只要保证E0开头,0804结尾,并且与现有的键不重名就可以。

建好主键以后,就可以在右面的窗格中建立一系列的值了。这里,我们需要建立3个字符串类型的值,如下:

IME File  winabc.ime
Layout File kbdus.dll
Layout Text 智能ABC输入法版本5.0

其中,IME File就指明了智能ABC输入法的IME文件是winabc.ime,而Layout Text指明了这个输入法在文字服务中的名字叫“智能ABC输入法版本5.0”。

关闭注册表编辑器,至此,我们的移植工作就基本完成了。

接下来,打开“控制面板”中的区域和语言选项,在“语言”页中点文字服务的详细信息,这里就可以把智能ABC添加到系统的输入法列表中了。先选择输入语言中简体中文,然后,在下面的键盘布局中就会出现你自己添加的“智能ABC输入法版本5.0”输入法了,选中它,确定,一切OK!

让我也在Windows下刷新BIOS

介绍一个在Windows下刷新BIOS的小软件WinFlash。

发表于《电脑爱好者》2001年第13期,不过好像被编辑看出是一篇骗稿费的文章,发表时有很大的删节,这里是没有删节的版本。

====

如今,通过刷新BIOS来提高机器性能、打造个性化电脑已经成为电脑玩家们很熟悉的一项操作。但是,传统的BIOS刷新工作必须在纯DOS下进行,既麻 烦又不容易为初级玩家所接受。针对这种现象,微星、技嘉等公司推出了一些在Windows下刷新BIOS的软件,但这些软件往往只能在部分品牌的主板上使 用,相当一部分的玩家还是不能享受到在Windows下刷新BIOS的方便与快捷。

自从上网找到了WinFlash 这个软件,上面的烦恼就不复存在了。这个由Award公司出品的小软件可以在所有使用Award BIOS的主板上运行,方便快捷的在Windows下刷新系统的BIOS。下图就是它的运行界面。

(图略)

界面的主要部分显示了当前BIOS的区域分布,包括BootBlock、MainBlock、ESCD Block 和DMI Block。其中深绿色的区域表示在刷新BIOS过程中不刷新的部分,而浅绿色的区域则表示需要进行刷新工作的区域。用鼠标点击其中某个区域就可以切换它 的状态为需要或不需要刷新。界面左边的Update Option中的复选框也指示了同样的功能。

在区域分布的上面显示了主板BIOS的编 号,如图中的 “i815-W83627HF-6A69RAB9C-00”。通过查资料我们可以知道,这是一块使用i815E芯片组的AOpen AX3S 主板,我就以刷新这块主板的BIOS为例,向大家介绍一下这个WinFlash软件的使用方法。

首先,为了安全起见,在刷新前我们应当先把当前的BIOS内容保存下来,点选 “File” 菜单中的 “Save BIOS”。系统提示输入文件名,我们可以就取它的默认值,将当前BIOS的内容保存。

保存的原来的BIOS后,我们就可以开始真正的刷新工作了,点 “File” 菜单中的 “Update BIOS”,系统提示选择新的BIOS文件,我们选择刚从网上下载的ax3s117.bin这个文件,这个文件适用于上面说的AOpen AX3S 主板。如果你的主板不是这个品牌这个型号的,则要你自已去主板的厂商下载合适的BIOS 文件,可不要用错了BIOS 数据文件哟。

选择了合适的文件,系统就要准备进行刷新了,它弹出如图的对话框让你确认。当你点击了Update 命令后,系统就开始刷新BIOS了,它先将BIOS中指定要刷新的内容清除,然后写入新的文件,这个过程要持续几十秒钟,比在DOS下刷新稍慢。在这段时 间中可不能停电或死机,否则机器就很可能开不出来了。
刷新完成后,系统会提示重启计算机,这时只要点击Reboot重启就可了。刷新工作顺利完成。

为了避免刷新失败而导至无法启动机器,我们在刷新BIOS前可以先在该软件界面上的BootBlock区域上点击一下鼠标,把它变为深绿色,即为选择不 刷新。我们知道,BootBlock是用于在刷新失败时保证机器用软盘启动后修复BIOS的,所以不刷新BootBlock可以在最大程度上的保证我们刷 新工作的安全。

最后再说说这个软件的特殊功用:我的这块AOpen 主板,它的DOS下的BIOS刷新工具与BIOS数据文件是一一对应的,而一般的DOS下的Awdflash刷新软件又不认识这块主板的BIOS芯片,这 时要想打造个性化开机画面等工作就变得不可能。用这个WinFlash软件刷新这块BIOS,不但可以正常认出这个BIOS芯片的型号,而且确实也比在 DOS下刷新要方便的多。

想试试这个好用的WinFlash软件吗?你可以到http://download.pchome.net的“主板BIOS”栏目下载这个工具,容量仅有364K。

用Windows 2000实现电子邮件特快专递

介绍了用Windows2000自带的SMTP服务器快速、安全发送邮件的方法。

发表于《电脑爱好者》2000年第19期。这是我在《电脑爱好者》上发表的第二篇文章。

====

电子邮件是网络的一个重要用途,我们一般在发送电子邮件时,总是要借助一个SMTP(简单电子邮件传输协议)服务器的中转:我们把邮件发送到SMTP服 务器上,再由它把邮件传送到对方的收件服务器上。正因为有这样的一个过程,往往在网络堵塞时,会造成邮件发送不到或邮件过很长时间才发送到的结果。现在有 了Window 2000,它自带了SMTP协议,我们就可以利用自己的电脑作为SMTP服务器,实现邮件的特快专递。

首先,我们必须给 Windows 2000安装上Microsoft SMTP Service。打开“控制面板”,在“添加/删除程序”对话框中点击“添加/删除Windows组件”,打开“Windows组件向导”。再打开 “Internet信息服务(IIS)”的详细信息,在里面选择“SMTP Service”(见图一),系统会自动在其它一些必须的选项上打上标记,确认选择,并继续安装直到安装完成。

然后,我们需要对这个 “SMTP Service”进行配置。在“控制面板”中打开“管理工具”并从中选择“Internet 服务管理器”,在这个管理器中打开“默认 SMTP 虚拟服务器”的属性窗,我们的配置工作就将在这里进行。先在“常规”选项卡中我们设置IP地址为“127.0.0.1”,表示使用本机作为服务器(见图 二)。然后,在“访问”选项卡设置“中继控制”,确认里面选上了“仅以下列表除外”,(见图三)否则,你将无法把邮件发送到本机帐号以外的地址上,表现为 在Outlook Express发信时得到错误信息:“由于服务器拒绝收件人之一,无法发送邮件。”接着,我们需要设置“传递”选项卡,你可以自己根据实际的要求设置各次 重试间隔,为了保证“特快专递”,你可以把前几次重试的时间改的短一些。当然,一般情况下,邮件都可以顺利的一次发出,这样的话就与这里的重试间隔没有什么关系了。

至此,我们就完成了对SMTP Service的配置。下面我们就可以亲身体验一下这个邮件特快专递服务的强大功能了。

打开你常用的电子邮件软件,如Outlook Express 或Foxmail等,新建一个邮件帐号或修改一个以前的帐号,在SMTP服务器一项中填入“127.0.0.1”,确认,就可以了。你可以用这个帐号像以 前一样的发送你的邮件,你会发现发信的速度变得很快。不过要注意了,邮件软件告诉的发信成功可只是把信成功的发到了Smtp服务器上,现在来说就等于是发 到了本机的Smtp Service,可不等于特快专递已经成功哟。那么,如何才可以知道特快专递是否真正成功呢?默认的情况下,你只需打开Windows 2000安装分区的/Inetpub/mailroot/Queue文件夹就可以了,如果里面是空空的,那么说明机器已经把信发送完毕了,如果里面有几个 文件,说明信还没有发出,通常是因为网络比较繁忙,稍等一会儿,等到里面的文件消失,就说明发信成功了。同时你也可以用管理工具中的“性能”对话框来监视 SMTP服务,看看它究竟有没有正常工作。

最后告诉大家一个小技巧,在浏览器的地址框中输入file://%systemroot%/help/mail.chm就可以察看到详细的有关这个SMTP Service的使用说明。