﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-kooyee ‘s blog</title><link>http://www.blogjava.net/Javawind/</link><description>开源软件， 众人努力的结晶， 全人类的共同财富</description><language>zh-cn</language><lastBuildDate>Tue, 28 Apr 2026 19:02:50 GMT</lastBuildDate><pubDate>Tue, 28 Apr 2026 19:02:50 GMT</pubDate><ttl>60</ttl><item><title>【Linux】Emacs 教程中文版</title><link>http://www.blogjava.net/Javawind/articles/249810.html</link><dc:creator>kooyee</dc:creator><author>kooyee</author><pubDate>Sun, 04 Jan 2009 18:16:00 GMT</pubDate><guid>http://www.blogjava.net/Javawind/articles/249810.html</guid><wfw:comment>http://www.blogjava.net/Javawind/comments/249810.html</wfw:comment><comments>http://www.blogjava.net/Javawind/articles/249810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Javawind/comments/commentRss/249810.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Javawind/services/trackbacks/249810.html</trackback:ping><description><![CDATA[Emacs 的命令通常包括控制键(就是上面标有 Ctrl或Ctl的那个)或者是META键(上面标有EDIT或ALT)。为了方便起见我们将用下面的缩写来代替这些键的全称： <br /><br />C- 意思是当敲入字符 时同时按住控制键，因此，C-f表 示：按住控制键并且按 f 。 M- 表示当键入 时按住META或ALT或EDIT键。如果没有META 或ALT或EDIT键，则用ESC键代替。 表示ESC键 <br /><br />注意：退出Emacs，按C-x C-c(两个字符)。在文本左边区域的“&gt;&gt;”符号表示让你试着使用一个命令。比如： <br />&gt;&gt; 现在键入C-v(观看下一屏)移动到下一屏。(就象前面说的，按v的同时也按住控制键)。从现在开始，每当你读完一屏的时候都可以用它来翻屏。 <br />注意在翻屏后会保留上屏的最后一行；这是为你继续阅读文本提供某些连贯性。 <br />你所需要知道的第一件事是如何把光标从一个地方移动到另一个地方。你已经知道了如何向前翻一屏--用 C-v。要向后翻一屏，键入M-v。 <br />&gt;&gt; 试着键入 M-v 和 C-v 几次。 <br />* 摘要(SUMMARY) <br />--------------------------- <br />下面几个命令对整屏观看时有用： <br /><br />C-v 向前翻一整屏。 <br />M-v 向后翻一整屏。 <br />C-l 清除屏幕并重新显示所有的文本，然后把光标移动到屏幕的中央。 (注意是Control-L,而不是 Control-1)。 <br />&gt;&gt; 寻找光标，并且注意它在文本里的位置。然后键入C-l。再寻找光标你会注意到光标现在会出现在同样的文本附近。 <br />* 基本光标控制(BASIC CURSOR CONTROL) <br />----------------------------------------------------------------- <br />整屏整屏的移动是很有用的，可是如何把光标移动到屏幕上文本里的一个指定的地方呢？ <br />有好几个方法可以实现。最基本的方法是用命令 C-p，C-b，C-f，和C-n。这些命令每个都使光标在屏幕上往特定的方向移动一行或者一列。下面是一个图表显示了这四个命令和它们所移动的方向： <br /><br /><br />上一行，C-p <br />: <br />: <br />向前，C-b ...... 当前光标的位置 ...... 向后，C-f <br />: <br />: <br />下一行，C-n <br />&gt;&gt; 用C-n或C-p把光标移动到图表中间。然后键入C-l会看到整个图表出现在屏幕的中央。 <br /><br /><br /><br />你也许会发现这些字母很容易记住：P 代表上面的(previous)，N 代表下一个 (next)，B 代表向前(backward)，F 代表向后(forward)。这些是基本的光标位置命令，你将经常会用到它们。所以现在学习它们很有好处。 <br /><br /><br />&gt;&gt; 用几次 C-n 把光标向下移动到这一行。 <br /><br />&gt;&gt; 用 C-f 把光标移动到行里，再用C-p把光标上移。观察当光标在行的中间时 C-p做了些什么。 <br />每一个文本行都以一个换行符结尾，它用来当作行与行之间的分格。你的文件的最后一行的尾部应该有一个换行符(但Emacs并不要求一定要有一个)。 <br />&gt;&gt; 试着在行的开头使用C-b。它将会把光标移到上一行的末尾。这是因为它向后移的时候穿过了换行符。 <br />C-f 也能象 C-b一样穿过换行符。 <br />&gt;&gt; 使用几次C-b，使您能知道光标在哪。然后用C-f移动到行的末尾。然后再用一次C-f，使光标移动到下一行。 <br /><br />当你移动超过屏幕的顶部或底部，光标回移动到下一屏的中间，这叫做“滚屏 (scrolling)”。它使得Emacs滚屏移动到文本上指定的部位而不是移出屏幕。 <br /><br />&gt;&gt; 试着用C-n把光标移过屏幕的底部，看看回发生什么。 <br /><br />如果觉得一个一个字符的移动太缓慢，可以一个单词一个单词的移动。M-f(Meta-f) 向前移一个单词，M-b向后移一个单词。 <br />&gt;&gt; 键入几个M-f和M-b。 <br /><br />当光标在一个单词的中间，M-f移动到单词的末尾。当光标在两个单词间的空白部分 M-f移动到后一个单词的末尾。M-b与M-f一样，只是移动的方向相反。 <br />&gt;&gt; 键入M-f和M-b几次，中间穿插一些C-f和C-b以使你能观察到M-f和M-b在单词中和单词间的不同行为。 <br /><br />注意比较C-f，C-b与M-f，M-b。通常情况下Meta键用于有关语言单位(词，句，段落) 的操作；而控制键用于编辑时的基本单位(字符，行等)。 <br />这是句与行的比较：C-a和C-e移动到一行的开头和末尾，M-a和M-e移动到一个句子的开头和末尾。 <br />&gt;&gt; 键入一对C-a，再键入一对C-e。 键入一对M-a，再键入一对M-e。 <br /><br />你会看到重复键入的C-a什么也不做，而重复键入的M-a则会移动一个以上的句子。 <br />光标在文本中的位置也叫“点(point)”。在段落里，光标标示出了点在屏幕上文本里的位置。 <br />下面是简单的光标移动命令的总结，包括单词和句子的移动命令： <br /><br />C-f 向前移动一个字符。 <br />C-b 向后移动一个字符。 <br /><br />M-f 向前移动一个单词。 <br />M-b 向后移动一个单词。 <br /><br />C-n 移动到下一行。 <br />C-p 移动到上一行。 <br /><br />C-a 移动到行首。 <br />C-e 移动到行尾。 <br /><br />M-a 向前移动到句子的开头。 <br />M-e 向后移动到句子的末尾。 <br /><br />&gt;&gt; 试着对每一个命令都实践几次，它们都是经常要用到的命令。 <br />另外两个重要的光标移动命令是M-&lt;(Meta小于)，它移动光标到整个文本的开头，M-&gt; (Meta大于)它移动光标到整个文本的末尾。 <br />在多数终端上，“&lt;”在逗号的上面，所以你必须用Shift键来输入它。在这些终端上，你也必须用Shift键来输入M-&lt;；没有Shift键，你可以输入M-逗号。 <br />&gt;&gt; 现在就试试M-&lt;，移动到本教程的开头，然后再用C-v移回这里。 现在就试试M-&gt;，移动到本教程的末尾，然后再用M-v移回这里。 <br /><br />你也可以用方向键来移动光标，如果你的终端有方向键的话。我们建议学习C-b， C-f，C-n和C-p有三个原因。第一，它们能在所有类型的终端上工作。第二，你获得了使用Emacs的锻炼，你将会发现输入这些CTRL加字符比按方向键要快(因为你不必把你的手从键盘上移开)。第三，一旦你养成了使用这些CTRL加字符的命令的习惯，你就能一样容易的学习其他高级的光标移动命令。 <br />大多数Emacs命令接收一个数字参数；对大多数命令来说，这表示命令重复的次数。输入重复命令次数的方法是在输入命令之前按C-u和数字。如果你有META(或EDIT或 ALT)键，则有另一种方法输入数字参数：在按住META键的时候输入数字，我们建议学习C-u方法，因为它能在任何终端上工作。 <br />例如，C-u 8 C-f 向前移动8个字符。 <br />&gt;&gt; 试着使用带数字参数的C-n或C-p，只用一个命令就把光标移动到与本行相邻的 行上。 <br /><br />绝大多数命令把数字参数当作重复次数，但也有几个例外。C-v和M-v就是。当给出一个参数，只是上滚或下滚数字指定的行数而不是屏数。比如，C-u 4 C-v滚动4行屏幕。 <br /><br /><br />&gt;&gt; 现在试试 C-u 8 C-v。 <br />这将使屏幕滚动8行，如果你想往回滚动的话，键入一个带参数的M-v。 <br />如果你正在使用X窗口，在Emacs窗口的左手边有一个叫做滚动条的矩形区域。你能通过用鼠标点击滚动条来滚动文本。 <br />&gt;&gt; 试着在滚动条顶部的高亮区域点击中键。这将使文本滚动，滚动的位置取决于 你点击的长短。 <br /><br />&gt;&gt; 试着按住鼠标中键上移或下移鼠标，你将看到当你移动鼠标时文本会上下滚动。 <br />* 当EMACS挂起时(WHEN EMACS IS HUNG) <br />------------------------------------------------------------------ <br />当Emacs停止响应你的命令时，你能用C-g把它安全的停止。当一个命令执行了太长的时间时你可以用C-g把它终止。 <br />你也可以用C-g来取消数字参数和输入后又不想执行的命令。 <br />&gt;&gt; 键入C-u 100 产生一个值为100的数字参数，然后按C-g。再按C-f。它只会移动 一个字符，因为你用C-g取消了参数。 <br /><br /><br />如果错误的输入了一个 ，你能用C-g消掉它。 <br />* 禁止命令(DISABLED COMMAND) <br />---------------------------------------------------- <br />一些Emacs命令是“禁止”的，所以新手不会因偶然而执行它。 <br />如果你键入了一个禁止命令，Emacs会显示一条消息说明这条命令是干什么的，并且问你是否需要执行它。 <br />如果你真的想要执行，敲空格键继续。通常，如果你不想执行禁止命令，用“n”来回答。 <br /><br />&gt;&gt; 输入 :(一条禁止命令)，然后用n来回答。 <br /><br />* 窗口(WINDOWS) <br />----------------------------- <br />Emacs 能有好几个窗口，每一个显示自己的文本。我们将在后面解释怎样对多窗口操作。现在我们要解释怎样去除多余的窗口屏回到基本的单窗口编辑状态。这是一个例子： <br />C-x 1 一个窗口(也就是除去其他所有的窗口)。 <br />因为Control-x跟了数字1。C-x 1使包含光标的窗口占满整个屏幕，屏删除其他所有窗口。 <br />&gt;&gt; 把光标移动本行并输入 C-u 0 C-l。 <br />&gt;&gt; 键入Control-h k Control-f。 看这个窗口如何缩小，并在按Control-f的时候出现了一个新的文档窗口。 <br />&gt;&gt; 键入C-x 1 并且看到那个文档窗口消失了。 <br /><br />* 插入和删除(INSERTING AND DELETING) <br />--------------------------------------------------------------- <br />如果你要插入文本，只须输入文本。输入的字符你能见到，比如A，7，*等等。Emacs 会立即把它们插入。键入 (回车键)插入一个换行符。 <br />你能用 删除你输入的最后一个字符。 就是键盘上标着“Del”的键。在某些情况下，“Backspace”键作用和 一样，但不总是这样！ <br /><br /><br />通常， 立即删除光标前面的那个字符。 <br /><br /><br />&gt;&gt; 输入几个字符，然后用 删除它们。不必担心这个文件回被改变；你不会 替换主教程。这只是你的个人拷贝。 <br /><br />当一行文本太长而超过屏幕宽度时，这一行会在屏幕的下一行被“继续”。文本的右边会有一个反斜杠“”表示它被继续。 <br />&gt;&gt; 插入文本直到最右边，然后再插入。你将看到一个继续了的行。 <br />&gt;&gt; 使用 删除文本直到行的长度在屏幕的宽度以内。继续的行将会消失。 <br /><br />你能像删除其他任何字符一样删除换行符。删除两个行间的换行符会使它们合并为一行。如果这一行很长屏幕显示不下的话，将会用一个继续的行来表示。 <br />&gt;&gt; 把光标移动到一行的开头按 这将使本行和上一行合为一行。 <br />&gt;&gt; 按 重新插入你删除的换行符。 <br /><br />记住大多数的Emacs命令能接收一个重复次数。这包括文本字符，把一个文本字符重复的插入几次。 <br />&gt;&gt; 键入这个-- C-u 8 * 来插入 ******** <br /><br />你现在已经学习了Emacs的大多数输入和排错的方法。你也能一样的删除单词或行。这是删除操作的摘要： <br />删除光标前面的字符 <br />C-d 删除光标后面的字符 <br />M- 除去光标前面的单词 <br />M-d 除去光标后面的单词 <br />C-k 除去从光标位置到行尾的内容 <br />M-k 除去到当前句子的末尾 <br />注意比较 ，C-d与M ，M-d和C-f，M-f( 不是一个控制字符，但不用担心)。C-k和M-k就象C-e，M-e。 <br />当你一次除去不止一个字符时，Emacs将保存着这些文本，所以你可以恢复它们。恢复那些被除去的文本称作“拉(yanking)”。你能在除去文本的同一地方拉回它们，或是在文本的其他地方。你能对文本拉上几次以产生它们的多个拷贝，拉的命令是 C-y。 <br />注意“除去(killing)”与“删除(Deleting)”之间的区别，被除去的东西能被拉回来，而被删除的不能。通常除去能除去很多的文本屏保存，而删除只能除去一个字符，或是空行或空格，并且不保存。 <br /><br /><br />&gt;&gt; 把光标移到一个空行的开头，键入C-k除去这一行。 <br />&gt;&gt; 按第二次C-k，你将看到剩下的空行也被除去了。 <br /><br /><br /><br />注意单个的C-k除去行的内容，第二个C-k除去行本身，并且使后面的所有行上移。特别要注意数字参数：它除去很多行和它们的内容，这不仅仅是重复。C-u 2 C-k 除去两行和它们剩下的空行；而按两次C-k并不会这样做。 <br /><br /><br />要在当前光标处找回上次被除去的文本；按C-y <br /><br /><br />&gt;&gt; 试一试，用C-y把文本拉回来。 <br /><br /><br /><br />把C-y考虑为你把某人从你这里拿走的东西再拿回来。注意你如果在一行上按了几次 C-y，所有被除去的文本是存在一起的，所以按一次C-y将拉回全部的行。 <br /><br /><br />&gt;&gt; 现在就试一下，按几次C-k。 现在找回被除去的文本； <br /><br /><br />&gt;&gt; 按C-y。然后把光标下移几行再按一次C-y，你现在会看到怎样拷贝这些文本。 <br /><br /><br /><br />当你要拉回一些被除去的文本该怎样做呢？C-y只能拉回最近被除去的文本。但以前的文本并没有消失。你能用M-y来恢复它。当你用C-y拉回最近被除去的文本后，换成 M-y可以拉回以前被除去的文本。键入一次又一次的M-y可以拉回更早以前被除去的文本。当你找到要寻找的文本，不必做任何事来保持它，只须离开拉文本的地方继续你的编辑。 <br /><br /><br />如果你M-y了足够多的次数，你会回到开始点(最近被除去的)。 <br /><br /><br />&gt;&gt; 除掉一行，移开，再除掉另一行。 然后用C-y拉回第二行。 然后换成M-y拉回被除掉的第一行。 再按一次M-y看看得到了什么。继续按直到拉回被除去的第二行；然后再做几次。 如果原意的话，你可以给M-y加正的或负的数字参数。 <br /><br /><br /><br /><br /><br />* 撤销(UNDO) <br />-------------------- <br /><br /><br /><br />如果你对文本作了一些改动，然后又发现这样做是错误的，你能用撤销命令，C-x u 撤销这些改变。 <br /><br /><br />通常，一次C-x u撤销一个改变；如果你在一行上重复几次C-x u，就会重复几次撤销操作。 <br /><br /><br />但有两个例外：不改变文本的操作(包括光标移动和滚屏命令)不算在内；只能处理20 次。 <br /><br /><br />&gt;&gt; 用C-k除去这一行，然后按C-x u 它将重现出来。 <br /><br /><br /><br />C-_是一个可选择的撤销命令；它所作的工作和C-x u 完全一样，只是更容易输入。 C-_的缺点是有些键盘上没有它，这就是为什么还提供C-x u的原因。在某些终端上你可以按住CTRL的时候再敲/来输入C-_。C-_或C-x u把数参数字当作重复次数。 <br /><br /><br />* 文件(FILES) <br />------------------- <br /><br />为了永久保存你编辑的文本，你必须把它放到一个文件里。否则当你退出Emacs的时候它就会消失。你通过“查找(finding)”文件，把你编辑的内容放到文件里。(也称为 “访问(visiting)文件”)。 <br /><br /><br />(译注：为了保持与原文的一致性，把find译为“查找”，但是这里和后面出现的 “查找文件”指的都是打开文件的意思。) <br /><br /><br />查找(finding)一个文件意味着你在Emacs里看文件的内容，在多数情况下，也就是你在编辑它。但是，你用Emacs对它作的改变并不是永久行的，除非你“保存(saving)” 它。所以你可以避免把一个改了一半的文件留在系统上。甚至你保存了文件，Emacs也会把原始文件换个名字保留下来，以防过后你发现对文件的改动是错误的。 <br /><br /><br />如果你观察屏幕的你将看见一个开始和结尾都是破折号的行，并且以“--:**-- TUTORIAL”或之类的东西开始。屏幕的这部分通常显示你正在访问的文件的名字。现在，一个叫做“TUTORAL”的文件，它是你的Emacs教程的个人拷贝。当你用Emacs 查找一个文件，文件名会出现在同样的位置。 <br /><br /><br />查找和保存文件命令不像前面学的那些命令。它们都以字符Control-x开始。以 Control-x起头的是一个完整的命令系列；它们中的许多都是对文件，缓冲，和相关的东西进行操作的。这些命令有两个，三个或四个字符长。 <br /><br /><br />关于查找文件命令的另一件事是你必须给出你需要的文件的文件名。我们说这个命令 “从终端读取一个参数”。(在这种情况下，参数是文件的名字)；当你键入命令C-x C-f后，Emacs会提示你输入文件的名字。你输入的文件名会出现在屏幕底部的行上。这个底部的行称为微型缓冲(minibuffer)用于这类较短的输入。你能用Emacs本身的编辑命令来编辑文件名。 <br /><br /><br />当你正在输入文件名(或其他任何微型缓冲区输入)，你能用命令C-g来取消。 <br /><br /><br />&gt;&gt; 键入命令C-x C-f，然后输入C-g。这将取消微型缓冲，也取消了C-x C-f命令所使 用的微型缓冲，所以你不查找任何文件。 <br /><br /><br /><br />当你输完文件名后用 来结束。然后C-x C-f开始工作，并开始寻找你所选择的文件。当C-x C-f命令结束后微型缓冲区也消失了。 <br /><br /><br />过一小会儿文件的内容就会显示在屏幕上，然后你就能对它进行编辑了。当想永久保留你的改动时用命令： <br /><br /><br />C-x C-s 保存文件(save the file)。 <br /><br /><br />这个操作会把Emacs里的文本拷贝到文件里。在你第一次作的时候，Emacs把原始文 件改为一个新名字以使它不至于丢失。新名字是在原来名字的后面加一个“~”。 <br /><br /><br />保存结束后，Emacs打印出被写的文件的文件名。你应当经常的保存，万一系统崩溃 的话你不至于丢失太多的工作。 <br /><br /><br />&gt;&gt; 键入C-x C-s来保存你的教程的拷贝。屏幕的底部会打印出“Wrote.....TUTORIAL”。 <br /><br /><br /><br />注意：在某些系统上，输入C-x C-s 会把屏幕冻结住使你从Emacs看不到更多的输出。这 表示这个操作系统的“特性”叫做“控制流程”，它拦截了C-x不让它到达Emacs那里。 要使屏幕解冻，输入C-q，然后看Emacs手册里的“Spontaneous Entry to Incremental Search”一节，按上面的建议来对付这种“特性”。 <br /><br /><br />你能查找一个已存在的文件，来查看它或编辑它。你也可以查找一个尚未存在的文件。这是 Emacs：里创建文件的方法：查找文件，将会出现一个空白，然后插入文件的文本。当你 “保存(saving)”的时候，Emacs将会用你插入的文本创建文件。从那时候起，你可以认为你在编辑一个存在的文件了。 <br /><br /><br /><br /><br />* (缓冲)BUFFERS <br />-------------------------- <br /><br /><br /><br />如果你用C-x C-f查找第二个文件，第一个文件仍然留在Emacs里。你可以再用C-x C-f查找一次来切换回去。用这种方法你在Emacs里有很多文件。 <br /><br /><br />&gt;&gt; 输入C-x C-f foo 来建立一个名为foo的文件。然后插入一些文本，编辑它，并 用C-x C-s来保存“foo”。 最后输入C-x C-f TUTORIAL 以回到本教程。 <br /><br /><br /><br /><br />Emacs把每个文件的文本都保存在一个叫“缓冲(buffer)”的东西里。查找(打开)一个文件就会在Emacs里产生一个新的缓冲。要看你当前运行的Emacs里存在的缓冲列表，输入： <br /><br /><br />C-x C-b 列出缓冲(list buffers) <br /><br /><br />&gt;&gt; 输入 C-x C-b <br /><br /><br /><br />观察每个缓冲都有一个名字，它可能也有一个它所保存的文件的文件名。一些缓冲不对应文件。比如，叫“*Buffers List*”的缓冲没有任何文件。这个缓冲只包含由C-x C-b产生的缓冲列表。你在Emacs窗口里看到的任何文本都是某个缓冲的一部分。 <br /><br /><br />&gt;&gt; 输入 C-x 1 消除缓冲列表。 <br /><br /><br /><br />如果你对一个文件的文本作了改动，然后查找另一个文件，第一个文件并不保存。它的改变保存在Emacs里，在那个文件的缓冲里。被建立或编辑的第二个文件的缓冲并不影响第一个的。这一点很有用，但这也意味着要有一个便捷的方法来保存第一个文件的缓冲。如果要用 C-x C-f切换回去只是为了按C-x C-s保存它将会是一件令人讨厌的事。所以我们用 <br /><br /><br />C-x s 保存缓冲(save the buffer) <br /><br /><br />C-x s 向你询问每个改动过但未存盘的缓冲，对每个这样的缓冲都询问是否保存。 <br /><br /><br />&gt;&gt; 插入一行文本，然后按C-x s。 将会问你是否保存叫TUTORIAL的缓冲。 输入“y”来回答是。 <br /><br /><br /><br /><br /><br />* 扩展命令集(EXTENDING THE COMMAND SET) <br />----------------------------------------------------------------------- <br /><br /><br /><br />有太多的Emacs命令，大大超过了Contorl和meta加上字符所能表示的数量。Emacs用X(扩展 eXtand)命令来解决这个问题。有两种风格： <br /><br /><br />C-x 字符扩展，后跟一个字符。 <br />M-x 名字命令扩展，后跟一个长名字。 <br /><br /><br />这些命令通常有用，但不如你已经学过的那些命令使用的频繁。你已经见过了它们中的两个：文件命令C-x C-f 用于查找和C-x C-s用于保存。 <br /><br /><br />另一个例子是结束Emacs的命令C-x C-c(不必担心你所作的改动会丢失，在退出Emacs 之前，C-x C-c会提示你保存每一个改动过的文件)。 <br /><br /><br />C-z命令用于*临时*退出Emacs，所以你能回到原来运行的Emacs里。在允许这样做的系统上，C-z把Emacs“挂起”；就是说回到外壳(shell)下，但并不破坏运行的Emacs。在大多数外壳上，你能用‘fg'命令或‘%emacs'来继续Emacs。 <br /><br /><br />在不支持挂起的系统上，C-z建立一个子外壳(subshell)运行于Emacs下以使你能运行其他程序然后回到Emacs；这并不是真正的“退出”Emacs。在这种情况下，通常从子外壳回到Emacs的外壳命令是‘exit'。 有很多C-x 命令，这是已学过的一个列表： <br /><br /><br />C-x C-f 查找文件 <br />C-x C-s 保存文件 <br />C-x C-b 缓冲列表 <br />C-x C-c 退出Emacs <br /><br /><br />C-x u 撤销操作 <br /><br /><br />被称作扩展命令的命令的使用频率都不太高。或者是只在某些模式下使用。一个例子是替换字符串的命令，它在全文里把字符串替换为其他的。当你键入M-x， Emacs会在屏幕的底部提示你输入命令；在这种情况下，是“replace-string”。比如输入“repl s ”， Emacs会把命令补全。用 来结束命令。 <br /><br /><br />替换字符串命令要求两个参数--要被替换的字符串和用来替换的字符串。你必须用 来结束两个参数。 <br /><br /><br />&gt;&gt; 把光标移上两行，然后输入M-x repl s changed altered 。 注意现在这一行改变了：你把光标初始位置后的所有单词c-h-a-n-g-e-d替换为了 “altered” <br /><br /><br /><br /><br /><br />* <a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">自动</font></a>保存(AUTO SAVE) <br />------------------------------------ <br /><br /><br /><br />当你改动了一个文件还未存盘的话，所作的改动也许会由于系统崩溃而丢失。为防止这种情况发生，Emacs在编辑时为每个文件提供了“<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">自动</font></a>保存(auto save)”。<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">自动</font></a>保存的文件的文件名前后都有一个#号；例如，如果你编辑的文件名叫“hello.c”，<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">自动</font></a>保存的文件的文件名就叫“#hello.c#”。当你正常的保存了文件后，Emacs会删除这个<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">自动</font></a>保存的文件。如果遇到死机，你能打开那个文件后按M-x recover file 来恢复你的编辑，(是你编辑的文件而不是<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">自动</font></a>保存的文件)。当提示确认时，输入yes 来继续恢复<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">自动</font></a>保存的<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">数据</font></a>。 <br /><br /><br /><br /><br />* 回显区域(ECHO AREA) <br />------------------------------------ <br /><br /><br /><br />如果Emacs发现你输入命令的速度很慢的话它会在屏幕底部为你显示出来，这个区域叫 “回显区域”。 <br /><br /><br /><br /><br />* 模式行(MODE LINE) <br />--------------------------------- <br /><br /><br /><br />回显区域上面的一行称为“模式行(mode line)”。模式行显示与下面类似的东西： <br /><br /><br />--**-Emacs: TUTORIAL (Fundamental)--L670--58%---------------- <br /><br /><br />这一行给出了有关你在编辑的文件和Emacs状态的有用信息。 <br /><br /><br />你已经知道了文件名意味着什么。--NN%--指出你现在在文本里的位置；它意味着上面还有NN%的文本。如果是在文件的开头，会用--Top-- 来代替--0%--。如果是在行的末尾，会显示--Bot--。如果你正在看的文本内容很少，可以全部显示在屏幕上，模式行会说 --All--。 <br /><br /><br />前面的星号表示你已经改动过文本了。一旦你保存了文件或打开了一个新文件，模式行的这部分就不是星号而是破折号了。 <br /><br /><br />模式行上括号里的部分是现在的编辑模式。现在是缺省的基本(Fundamental)模式。它是 “主模式(major mode)”的一种。 <br /><br /><br />Emacs有很多不同的主模式。有些意味着不同的语言或不同的文本。如Lisp模式(Lisp mode)，文本模式(text mode)等等。在任何时候有且只能有一种主模式被激活。并且它的名字会出现在现在显示“Fundamental”的位置上。 <br /><br /><br />每一个主模式都有些自己的命令。就象不同的<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">编程</font></a>语言的注释看起来不同一样。每种主模式插入的注释也不同。可以用扩展命令切换进某种主模式。例如，M-x fundamental-mode 是切换进基本模式。 <br /><br /><br />&gt;&gt; 输入 M-x text-mode <br /><br /><br /><br />不必担心，没有命令会给Emacs带来很大改变。但是你可以看到现在M-f和M-b把省略号当作单词的一部分。而先前，在基本模式里，M-f 和M-b把省略号当成当成分隔符。 <br /><br /><br />主模式通常作诸如此类微小的变化：大多数命令在每个主模式里作“同样的工作”，但又有些微小的不同。 <br /><br /><br />要观看关于你现在的主模式的文档，按C-h m。 <br /><br /><br />&gt;&gt; 键入C-u C-v一次和多次使本行接近屏幕的顶端。 <br />&gt;&gt; 输入C-h m ，看看文本模式和基本模式有些什么不同。 <br />&gt;&gt; 按C-x 1 从屏幕上关掉这个文档。 <br /><br /><br /><br />主模式之所以叫做主模式是因为也存在从模式，从模式与主模式完全不同。每个从模式可以自己打开或者关闭，独立于所有其他从模式，也独立于你的主模式。所以你可以不用从模式或者同时用很多种从模式。 <br /><br /><br />有一种从模式很有用，特别是在编辑英文文本时。它是<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">自动</font></a>填充模式(auto fill mode)。当这个模式打开的时候，当输入的文本过宽的时候就会<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">自动</font></a>折行。 <br /><br /><br />你能用M-x auto-fill-mode 来打开<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">自动</font></a>填充模式。如果此模式已经打开M-x auto- fill-mode 则把它关闭。我们把这叫做切换开关。 <br /><br /><br />&gt;&gt; 输入M-x auto-fill-mode 。然后插入一些“asdf”直到看到这行被分为两行。你必须在中间放一些空格，只有到空格的时候才会换行。 <br /><br /><br /><br />通常边界宽度是70，但你能用带数字参数的C-x f 命令来改变它。 <br /><br /><br />&gt;&gt; 键入带参数20的C-x。(C-u 20 C-x f) 然后输入一些文本看现在每行只有20个字符了。然后用C-x f把它改回70。 <br /><br /><br /><br />如果你在一个段落的中间产生了改变，<a class="channel_keylink" href="http://www.3800hk.com/"><font face="Simsun" color="#0810b7">自动</font></a>填充模式将不会重新填充。要想重新填充段落，当光标在段落里的时候按M-q。 <br /><br /><br />&gt;&gt; 把光标移到上一段按 M-q。 <br /><br />* 搜索(SEARCHING) <br />----------------------------- <br /><br />Emacs 能朝前和朝后搜索字符串(指相邻的一些字符或单词)。搜索是一个移动光标的操作，它把光标移动到字符串出现的下一个地方。 <br /><br /><br />Emacs 的搜索命令和其他大多数编辑器不同，它是“增量式(incremental)”的，这意味着搜索在你键入字符串时就开始了。 <br /><br /><br />开始一个向前搜索的命令是C-s，C-r是往回搜索。但等等，先别忙。 <br /><br /><br />当你输入C-s是你将注意到在回显区域会出现一个字符串“I-search”。这告诉你Emacs开始了一个增量搜索，并在等待你输入要搜索的东西。 结束查询。 <br /><br /><br />&gt;&gt; 现在键入C-s开始一个搜索。慢慢的输入单词‘cousor'，在输入每一个字母的时候停顿一 下，注意看光标发生了什么。 <br />&gt;&gt; 再输入一次C-s，来搜索“cursor”出现的下一个地方。 <br />&gt;&gt; 现在输入 四次看看光标移到了哪里。 <br />&gt;&gt; 输入 结束搜索。 <br /><br /><br />看到发生什么了吗？在Emacs的增量搜索里，你输入多少字符串它就试着搜索这些字符出现的地方。到字符串出现的下一个地方，只须再按一次C-s。要搜索的字符串不存在的话，Emacs 会发出蜂鸣并告诉你当前的搜索“失败(failing)”，按 C-g 也是终止搜索。 <br /><br /><br />注意：在某些系统上，输入 C-s 会把屏幕冻结住使你从Emacs看不到更多的输出。这 表示这个操作系统的“特性”叫做“控制流程”，它拦截了C-s不让它到达Emacs那里。 要使屏幕解冻，输入C-q，然后看Emacs手册里的“Spontaneous Entry to Incremental Search”一节，按上面的建议来对付这种“特性”。 <br />如果你在搜索的过程里按了 ，你将注意到要搜索的字符串的最后一个字符会被删除并且光标会回到上一个被搜索到的地方。比如，假设你键入了“c”，将会搜索“c”第一次出现的地方。然后如果你键入“u”，光标将移到“ cu”第一次出现的地方。现在键入 。这将从搜索的字符串里把“u”删掉，这时光标回到“c”第一次出现的地方。 <br /><br /><br />如果你在搜索时按了Control或meta键加字符(少数几个少数命令例外，如C-s和C-r)，搜索将被终止。 <br /><br /><br />C-s向当前光标的后面搜索字符串出现的地方。如果你需要搜索前面文本里的东西，用C-r来代替。我们所介绍的C-s的每个特性C-r也支持，除了方向相反。 <br /><br /><br />* 多窗口(MULTIPLE WINDOWS) <br />------------------------------------------------ <br /><br /><br />Emacs有一个非常好的特性是能同时在屏幕上显示不止一个的窗口。 <br /><br /><br />&gt;&gt; 把光标移到本行上按C-u 0 C-l。 <br /><br /><br />&gt;&gt; 现在按C-x 2，它把屏幕分裂成两个窗口，每个窗口都显示本教程。光标在上面的窗口里。 <br /><br /><br />&gt;&gt; 按C-M-v 滚动到下面的窗口里。(如果你没有一个真正的Meta键，那么按ESC C-v) <br /><br />&gt;&gt; 按 C-x o (“o” 指 “其他(other)”) 把光标移到到下面的窗口里。 <br />&gt;&gt; 用 C-v 和 M-v 滚动下面窗口里的文本。 在上面的窗口里看本教程。 <br /><br /><br />&gt;&gt; 再次按 C-x o 使光标回到上面的窗口里。 现在光标象以前一样在上面的窗口里了。 <br /><br /><br /><br />你能一直用C-x o在窗口间切换。每个窗口都有它自己的光标位置，但仅有一个窗口能显示活动的光标。所有的编辑命令都发生在那个显示光标的窗口上。我们把这个窗口叫做“选中窗口( selected window)”。 <br /><br /><br />当你在一个窗口里编辑文本，而用另一个窗口作参考时命令C-M-v非常有用。你总是能把光标留在所编辑的地方，而用C-M-v来翻阅另一窗口。 <br /><br /><br />C-M-v 是 CONTROL-META 加字符的一个例子。 如果你有一个真正的META 键，你能同时按住 CTRL 和 META 再按“v”来输入C-M-v。CTRL 和 META 谁先按谁后按无所谓。 <br /><br /><br />如果你没有一个真正的META 键， 你可以用 ESC 来代替。这时候次序是有关系的： 你必须让 ESC 跟在 CTRL-v后面; 否则 CTRL-ESC v 将不工作。 这是因为 ESC 是一个有意义的字符而不是一个修饰字符。 <br /><br /><br />&gt;&gt; 输入 C-x 1 (在上面的窗口里) 以消除下面的窗口。 <br /><br /><br /><br />(如果你在下面的窗口里键入C-x 1，将会把上面的窗口去掉。可以把这个命令看作是“只保留你现在在的那个窗口。) <br /><br /><br />你不必一定要在两个窗口里显示同样的缓冲。如果你在一个窗口里键入C-x C-f查找文件，另一个窗口的内容不会改变。你能独立的在每个窗口里查找文件。 <br /><br /><br />这是让两个窗口显示不同内容的另一种方法： <br /><br /><br />&gt;&gt; 在你输入的文件名后再输入C-x 4 C-f，然后用 结束。会看到指定的文件出现在下面 的窗口里。光标也在那里面。 <br /><br /><br />&gt;&gt; 键入C-x o 回到上面的窗口，然后输入C-x 1删掉下面的窗口。 <br /><br /><br /><br />* 递归编辑层(RECURSIVE EDITING LEVELS) <br />---------------------------------------------------------------- <br /><br />有时候你会进入“递归编辑层(recursive editing level)”。由模式行上的方括号指示。它在主模式名的括号外面。例如你也许会看到(Fundamental)变成了[(Fundamental)]。 <br /><br /><br />要退出递归编辑层，按ESC ESC ESC。这是一个通用的退出命令，你也可以用它除去额外的窗口，或者退出微型缓冲。 <br /><br /><br />&gt;&gt; 输入 M-x 进入一个微型缓冲； 然后用 ESC ESC ESC 离开。 <br /><br />你不能用C-g来退出递归编辑层。这是因为C-g只能取消在递归编辑层里面的命令。 <br /><br /><br />* 获取更多的帮助(GETTING MORE HELP) <br />-------------------------------------------------------------- <br /><br />在本教程里我们试着为你开始使用Emacs提供了足够多的信息。但是有关Emacs的信息实在是太多以至于不能全部都在这里说明。但是，你还应该学习更多有关Emacs的东西，因为它另外还有很多有用的特性。Emacs提供了很多读取有关命令的文档的命令。这些“帮助”命令都以 Control-h开头，叫做“帮助字符”。 <br /><br /><br />为了使用帮助特性，输入字符C-h，然后再输入一个字符来说明你需要哪种帮助。如果你真的不知道，输入C-h ? 然后 Emacs会告诉你它能给你什么样的帮助。如果你输入了C-h 又觉得不需要任何帮助，你可以用C-g来取消它。 <br /><br /><br />(在有的地方，C-h的作用被改变了。如果按C-h在屏幕的底部没有出现有关帮助的信息的话，试试用F1和M-x help RET来代替。) <br /><br /><br />最基本的帮助特性是C-h c。输入C-h，然后是字符 c，然后输入一个命令字符和序列；然后 Emacs 会显示这个命令的简洁的描述。 <br /><br /><br />&gt;&gt; 输入 C-h c Control-p. <br /><br />显示的消息看起来会象这样： <br /><br /><br />C-p runs the command previous-line <br /><br /><br />这告诉你“功能的名字”。功能的名字主要用于对Emacs的功能扩充和定制。但因为功能的名字指出了命令的用途，所以最好不要改动它。 <br /><br /><br />C-h c后面可跟多字符命令，比如 C-x C-s 和 (如果你没有 META 或者 EDIT 或者 ALT 键) v 。 <br /><br /><br />要获取有关命令的更多信息，用C-h k 代替 C-h c。 <br /><br /><br />&gt;&gt; 输入 C-h k Control-p. <br /><br /><br /><br />这将在一个Emacs窗口里显示命令的文档。当你读完后可以用C-x 1除去帮助文本。如果不想马上离开，你可以一边编辑一边参考帮助文本，然后再按C-x 1。 <br /><br /><br />这是一些有用的 C-h 选项： <br /><br /><br />C-h f 描述一个功能，在你输入了这个功能的名字后。 <br /><br />&gt;&gt; 输入 C-h f previous-line 。 将打印出C-p命令所实现的所有功能。 <br /><br /><br /><br />C-h a 命令查找。输入一个关键字，Emacs将列出所有名字里有这个关键字的命令。 包括所有以Meta-x开始的命令。对有些命令，C-h a 也将列出实现同一功能的 几个命令序列。 <br /><br /><br />&gt;&gt; 输入 C-h a file . <br /><br /><br /><br /><br />这将在窗口里显示所有名字里有单词“file”的M-x命令。 <br /><br /><br />&gt;&gt; 输入 C-M-v 来滚动帮助窗口，做上几次。 <br /><br /><br />&gt;&gt; 输入 C-x 1 来删除帮助窗口。 <br /><br /><br /><br /><br /><br />* 总结(CONCLUSION) <br />-------------------------------- <br /><br />记住，永远都用C-x C-c来退出Emacs。用C-z来退到一个临时的外壳里，以使你过后还能回到 Emacs。 <br />本教程尽量让所有的初学者都能理解，如果你发现有些东西不清楚的话，别责备你自己-抱怨吧！<img src ="http://www.blogjava.net/Javawind/aggbug/249810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Javawind/" target="_blank">kooyee</a> 2009-01-05 02:16 <a href="http://www.blogjava.net/Javawind/articles/249810.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转】Tinyos 2.0笔记</title><link>http://www.blogjava.net/Javawind/archive/2009/01/05/249808.html</link><dc:creator>kooyee</dc:creator><author>kooyee</author><pubDate>Sun, 04 Jan 2009 17:28:00 GMT</pubDate><guid>http://www.blogjava.net/Javawind/archive/2009/01/05/249808.html</guid><wfw:comment>http://www.blogjava.net/Javawind/comments/249808.html</wfw:comment><comments>http://www.blogjava.net/Javawind/archive/2009/01/05/249808.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Javawind/comments/commentRss/249808.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Javawind/services/trackbacks/249808.html</trackback:ping><description><![CDATA[<p>
				<strong>
						<font size="5">Part 1</font>
				</strong>
				<br />
				<br />1）在windowsXP下访问Xubuntos虚拟机里文件的方法：</p>
		<p>            (1）在Xubuntos中运行Applications-&gt;System-&gt;shared folders</p>
		<p>            (2)  $sudo vim /etc/samba/smbuses (新创建smbuses文件)，输入：</p>
		<p> <wbr> <wbr> <wbr> <wbr>                      system_name = 用户名</wbr></wbr></wbr></wbr></p>
		<p>            (3)  $sudo smbpasswd -a 用户名</p>
		<p> <wbr> <wbr> <wbr> <wbr> <wbr>                      New SMB password:(输入密码)</wbr></wbr></wbr></wbr></wbr></p>
		<p> <wbr> <wbr> <wbr> <wbr> <wbr>                      Retyp new SMB password:<br /><br /><br /></wbr></wbr></wbr></wbr></wbr></p>
		<p>2)   $tos1 可设置为 Tinyos 1.X 的环境变量</p>
		<p> <wbr>      <wbr>$tos2 可设置为 Tinyos 2.X 的环境变量</wbr></wbr></p>
		<p> <wbr>      <wbr>其它有apps ,opt等。<br /></wbr></wbr></p>
		<p>
				<br />3）$sudo -i <wbr> 可以使用root 用户。</wbr></p>
		<p> <wbr> <wbr>    $sudo passwd root 可以修改root的密码。<br /><br /><br /><br /><strong><font size="5">Part 2</font></strong><br /><br /></wbr></wbr></p>
		<p>1）编译程序,在程序目录下：</p>
		<p> <wbr> <wbr>    $make micaz install.38</wbr></wbr></p>
		<p> <wbr>    <wbr> micaz是平台，38是要设置的节点地址。<br /></wbr></wbr></p>
		<p>
				<br />2)   $make micaz docs 可以生成文档</p>
		<p> <wbr>       存放于tinyos-2.x/doc/nesdoc目录下，index.html打开。<br /></wbr></p>
		<p>
				<br />3)    $make micaz sim</p>
		<p> <wbr> <wbr>       可以生成TOSSIM的仿真文件。<br /></wbr></wbr></p>
		<p>
				<br />4)   Tinyos默认使用的传感器VoltageC。在tinyos-2.x/tos/sensorboards/basicsb 中有光传感器Photot 和温度传感器Temp。</p>
		<p> <wbr>       要更改默认的传感器可使用</wbr></p>
		<p> <wbr> <wbr>       $SENSORBOARD=basicsb make micaz install.38</wbr></wbr></p>
		<p>         <wbr>注，Photo使用PortC1和ADC6.<br /><br /><br /><strong><font size="5">Part 3</font></strong><br /><br /></wbr></p>
		<p>1)    在Vmware中如果要使用串口，首先要添加串口，并指定发实际电脑串口的对应关系，本例对应电脑的串口是com2,但是在VM中此串口名字应该是com1(如果这是你添加的第一个串口的话)。</p>
		<p> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> 在Xubuntos中为/dev/ttS0</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></p>
		<p>2)   $java net.tinyos.tools.listen -comm <a><font color="#5e4830">serial@/dev/ttyS0:micaz</font></a></p>
		<p> <wbr> <wbr> 打开对串口/dev/ttyS0的监听。波特率为micaz=57600。</wbr></wbr></p>
		<p>3）$java net.tinyos.sf.Serialforwarder -comm <a href="mailto:serial@dev/ttyS0:micaz"><font color="#5e4830">serial@dev/ttyS0:micaz</font></a></p>
		<p> <wbr> <wbr> 可以打开一个图形化的窗口来对/dev/ttyS0进行监听。</wbr></wbr></p>
		<p>4）Oscilloscope示波器的使用：</p>
		<p> <wbr> <wbr> (1)在tinyos-2.x/apps/oscilloscope/java中打开一个命令终端，执行$make</wbr></wbr></p>
		<p> <wbr> <wbr> (2)编译后再执行$./run</wbr></wbr></p>
		<p> <wbr> <wbr> <wbr> <wbr>这样，就可以打开示波器了窗口了。注：打开Oscilloscope首先要对串口进行监听，运行（3）即可。</wbr></wbr></wbr></wbr></p><img src ="http://www.blogjava.net/Javawind/aggbug/249808.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Javawind/" target="_blank">kooyee</a> 2009-01-05 01:28 <a href="http://www.blogjava.net/Javawind/archive/2009/01/05/249808.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【Bug】当调用nam时错误</title><link>http://www.blogjava.net/Javawind/archive/2008/12/03/244053.html</link><dc:creator>kooyee</dc:creator><author>kooyee</author><pubDate>Tue, 02 Dec 2008 21:05:00 GMT</pubDate><guid>http://www.blogjava.net/Javawind/archive/2008/12/03/244053.html</guid><wfw:comment>http://www.blogjava.net/Javawind/comments/244053.html</wfw:comment><comments>http://www.blogjava.net/Javawind/archive/2008/12/03/244053.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/Javawind/comments/commentRss/244053.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Javawind/services/trackbacks/244053.html</trackback:ping><description><![CDATA[当调用nam时,出现如下错误<br />[code omitted because of length]<br />: no event type or button # or keysym<br />    while executing<br />"bind Listbox &lt;MouseWheel&gt; {<br />%W yview scroll [expr {- (%D / 120) * 4}] units<br />}"<br />    invoked from within<br />"if {[tk windowingsystem] eq "classic" || [tk windowingsystem] eq "aqua"} {<br />bind Listbox &lt;MouseWheel&gt; {<br />%W yview scroll [expr {- (%D)}] units<br />}<br />bind Li..."<br /><br />这个是由于nam调用的tk组件和xproto-7.0.13 不兼容导致的（xproto-7.0.13 新添加了 GenericEvent）。<br /><br />解决方法：<br />到这里下载补丁<a href="http://bugs.gentoo.org/show_bug.cgi?id=225999">http://bugs.gentoo.org/show_bug.cgi?id=225999</a><br /><br />在ns-allinone-2.33下运行<br />patch -p0 &lt;tk-8.4.18-tkBind.patch<br /><br />然后重装ns-2.33<img src ="http://www.blogjava.net/Javawind/aggbug/244053.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Javawind/" target="_blank">kooyee</a> 2008-12-03 05:05 <a href="http://www.blogjava.net/Javawind/archive/2008/12/03/244053.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【Simulator】Cygwin下NS2安装和配置</title><link>http://www.blogjava.net/Javawind/archive/2008/12/01/243605.html</link><dc:creator>kooyee</dc:creator><author>kooyee</author><pubDate>Sun, 30 Nov 2008 20:34:00 GMT</pubDate><guid>http://www.blogjava.net/Javawind/archive/2008/12/01/243605.html</guid><wfw:comment>http://www.blogjava.net/Javawind/comments/243605.html</wfw:comment><comments>http://www.blogjava.net/Javawind/archive/2008/12/01/243605.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Javawind/comments/commentRss/243605.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Javawind/services/trackbacks/243605.html</trackback:ping><description><![CDATA[<p>1、安装cygwin.你可以在://www.cygwin.com/http     下载<br /><br />下载后，你可以在这个网址 http://140.116.72.80/~smallko/ns2/setup.htm<br />的介绍下安装cygwin。（这个网站是台湾著名ns专家smallko介绍的ns安装手册）安装时你需要选择一个mirror站点。<br /><br />2、在出现的窗口中，选择所需的软体套件。你可能发现XFree86-base、<br />XFree86-bin、XFree86-prog、XFree86-lib、XFree86-etc没有在窗口中出现，注意在窗口的的下方会有一个打着<br />勾的小框，单击它，使勾消失，则XFree86-base、<br />XFree86-bin、XFree86-prog、XFree86-lib、XFree86-etc就会出现了。按照介绍的开始安装，安装的时间可能很长，请耐心等待。<br /><br />3、 在官网下载好allinone的安装包， 然后解压缩。<br />到ns-allinone-2.33的目录下面运行<font color="#ff0000"><strong>./install</strong></font>,慢慢等就行了. （如果提示缺少某些package的话，可以重新运行Cygwin的setup.exe文件安装。<br /><br />4、安装完成后，在cygwin下进入nam－1.13（用命令cd nam-1.13）目录用make<br />生成nam.exe，再把nam.exe拷贝到bin目录下即可！具体的命令是：./configure &amp;&amp; make &amp;&amp; make install<br /><br />5、請編輯HOME目錄下的.bashrc，把ns2相關的路徑加入PATH中，更新环境变量，你可以直接用记事本的方式打开.<br />bashrc，将下列命令复制粘贴进去，保存即可。<br /><br />export NS_HOME=/home/XXX（xxx是你的计算机注册名）/ns-allinone-2.33    <br />export PATH=$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$NS_HOME/bin:$PATH<br />export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$NS_HOME/otcl-1.9:$NS_HOME/lib:$LD_LIBRARY_PATH<br />export TCL_LIBRARY=$NS_HOME/tcl8.4.18/library<br /><br /><br />6 、在命令列中輸入startxwin.bat。會產生一個新的視窗X WIN<br /><br />7 、在此X WIN命令視窗中輸入<br /><br />cd ns-allinone-2.33/ns-2.33/ns-tutorial/examples<br /><br />ns example2.tcl<br /><br /><br /><br /><br /><br />P.S.更新环境变量<br /><br />安装完成后，因为ns.exe 和 nam.exe 在 /ns-allinone-2.33/bin/下, 需要加入这个 directory 到path文件（/etc/profile）中, </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">vi </span>
				<span style="COLOR: #000000">/</span>
				<span style="COLOR: #000000">etc</span>
				<span style="COLOR: #000000">/</span>
				<span style="COLOR: #000000">profile</span>
		</div>
		<p>加入</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">export PATH</span>
				<span style="COLOR: #000000">=/</span>
				<span style="COLOR: #000000">usr</span>
				<span style="COLOR: #000000">/</span>
				<span style="COLOR: #000000">ns</span>
				<span style="COLOR: #000000">-</span>
				<span style="COLOR: #000000">allinone</span>
				<span style="COLOR: #000000">-</span>
				<span style="COLOR: #000000">2.28</span>
				<span style="COLOR: #000000">/</span>
				<span style="COLOR: #000000">bin:$PATH</span>
		</div>
		<br />这样就不用担心调用ns或nam时，找不到命令的问题了。<br /><br />启动X window (用来显示nam）<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">startxwin.bar  or  startxwin.sh</span></div><img src ="http://www.blogjava.net/Javawind/aggbug/243605.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Javawind/" target="_blank">kooyee</a> 2008-12-01 04:34 <a href="http://www.blogjava.net/Javawind/archive/2008/12/01/243605.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【Linux】常用命令大全</title><link>http://www.blogjava.net/Javawind/archive/2008/12/01/243597.html</link><dc:creator>kooyee</dc:creator><author>kooyee</author><pubDate>Sun, 30 Nov 2008 17:01:00 GMT</pubDate><guid>http://www.blogjava.net/Javawind/archive/2008/12/01/243597.html</guid><wfw:comment>http://www.blogjava.net/Javawind/comments/243597.html</wfw:comment><comments>http://www.blogjava.net/Javawind/archive/2008/12/01/243597.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Javawind/comments/commentRss/243597.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Javawind/services/trackbacks/243597.html</trackback:ping><description><![CDATA[<h1>rmdir</h1>
		<p>Remove directory, this command will only work if the folders are empty. 移除一个空文件夹<br />Syntax<br />      rmdir [<em>options</em>]... <i>folder(s)</i>...<br />Options<br />      --ignore-fail-on-non-empty<br />                  Ignore each failure that is solely because the<br />                  directory is non-empty.<br />  -p, --parents   Remove explicit parent directories if being emptied<br /><br />      --verbose   Output a diagnostic for every directory processed<br /><br />      --help      Display help and exit<br /><br />      --version   Output version information and exit</p>
		<p>Example<br />$ rmdir myfolder <br />Before removing directories with a wildcard, it's wise to list them first:<br />$ ls -d britney*/<br /><br /><br /><font size="6"><strong>rm</strong><br /></font><br />Remove files <br /><br /><font size="6"><strong>rm -rf</strong></font><br /><br />remove non-empty folder（rm -rf will recursively remove folders and their contents）<br /><br /><font size="6"><strong>ls -al</strong></font><br /> <br />List information about files<br /><br /><font size="6"><strong>tar<br /><br /></strong></font>压缩，解压文件命令<br /><br />把其他路径下的压缩文件解压到当前文件夹：</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">tar zxvf </span>
				<span style="COLOR: #000000">/</span>
				<span style="COLOR: #000000">usr</span>
				<span style="COLOR: #000000">/</span>
				<span style="COLOR: #000000">local</span>
				<span style="COLOR: #000000">/</span>
				<span style="COLOR: #000000">xxx.tar.gz</span>
		</div>
		<br />
		<font size="6">
				<strong>patch</strong>
		</font>
		<br />
		<br />为文件打补丁<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">patch –p0 </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> patchfile.patch</span></div><img src ="http://www.blogjava.net/Javawind/aggbug/243597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Javawind/" target="_blank">kooyee</a> 2008-12-01 01:01 <a href="http://www.blogjava.net/Javawind/archive/2008/12/01/243597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【Linux】linux下文本编辑器</title><link>http://www.blogjava.net/Javawind/archive/2008/11/29/243472.html</link><dc:creator>kooyee</dc:creator><author>kooyee</author><pubDate>Sat, 29 Nov 2008 14:42:00 GMT</pubDate><guid>http://www.blogjava.net/Javawind/archive/2008/11/29/243472.html</guid><wfw:comment>http://www.blogjava.net/Javawind/comments/243472.html</wfw:comment><comments>http://www.blogjava.net/Javawind/archive/2008/11/29/243472.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Javawind/comments/commentRss/243472.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Javawind/services/trackbacks/243472.html</trackback:ping><description><![CDATA[<img src ="http://www.blogjava.net/Javawind/aggbug/243472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Javawind/" target="_blank">kooyee</a> 2008-11-29 22:42 <a href="http://www.blogjava.net/Javawind/archive/2008/11/29/243472.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Simulator] NS2简介及功能模块</title><link>http://www.blogjava.net/Javawind/archive/2008/11/28/243349.html</link><dc:creator>kooyee</dc:creator><author>kooyee</author><pubDate>Fri, 28 Nov 2008 14:15:00 GMT</pubDate><guid>http://www.blogjava.net/Javawind/archive/2008/11/28/243349.html</guid><wfw:comment>http://www.blogjava.net/Javawind/comments/243349.html</wfw:comment><comments>http://www.blogjava.net/Javawind/archive/2008/11/28/243349.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Javawind/comments/commentRss/243349.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Javawind/services/trackbacks/243349.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: NS是一种针对网络技术的源代码公开的、免费的软件模拟平台，研究人员使用它可以很容易的进行网络技术的开发，而且发展到今天，它所包含的模块已经非常丰富，几乎涉及到了网络技术的所有方面。所以，NS成了目前学术界广泛使用的一种网络模拟软件。在每年国内外发表的有关网络技术的学术论文中，利用NS给出模拟结果的文章最多，通过这种方法得出的研究结果也是被学术界所普遍认可的，此外，NS也可作为一种辅助教学的工具，已被广泛应用在了网络技术的教学方面。因此，目前在学术界和教育界，有大量的人正在使用或试图使用NS。<br><br>然而，对初学者来说，NS是非常难于掌握的，一般人从学习NS到上手至少需要半年多时间。原因是多方面的：一方面，NS内容庞杂，随软件所提供的手册更新不够快，初学者阅读起来非常困难；另一方面，使用NS还要掌握其它很多必备的相关知识以及相关工具，这会使初学者感到无从入手;有的使用者可能还不了解网络模拟的过程或是对NS软件的机制缺乏理解，这也影响了对NS的掌握。另外，不论在国外还是国内，还没有一本书能集中回答和解决这些问题，这也是NS难于被掌握的一个重要原因。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/Javawind/archive/2008/11/28/243349.html'>阅读全文</a><img src ="http://www.blogjava.net/Javawind/aggbug/243349.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Javawind/" target="_blank">kooyee</a> 2008-11-28 22:15 <a href="http://www.blogjava.net/Javawind/archive/2008/11/28/243349.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【工具】Cygwin 使用笔记</title><link>http://www.blogjava.net/Javawind/archive/2008/11/28/243318.html</link><dc:creator>kooyee</dc:creator><author>kooyee</author><pubDate>Fri, 28 Nov 2008 11:28:00 GMT</pubDate><guid>http://www.blogjava.net/Javawind/archive/2008/11/28/243318.html</guid><wfw:comment>http://www.blogjava.net/Javawind/comments/243318.html</wfw:comment><comments>http://www.blogjava.net/Javawind/archive/2008/11/28/243318.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Javawind/comments/commentRss/243318.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Javawind/services/trackbacks/243318.html</trackback:ping><description><![CDATA[<p>1. ls 显示文件颜色<br /><br />编辑/etc/bash.bashrc或者/home/.bashrc （vi ~/home/.bashrc)，加入下列指令</p>
		<p>alias ls='ls -F -N --color=auto'</p>
		<p>要立刻生效的话，执行下面的命令：</p>
		<p>source /etc/bashrc 或者 source .bashrc<br /><br />如果不行的话，可以修改home下的.bash_profile文件<br />加入alias ls='ls -F -N --color=auto'</p><img src ="http://www.blogjava.net/Javawind/aggbug/243318.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Javawind/" target="_blank">kooyee</a> 2008-11-28 19:28 <a href="http://www.blogjava.net/Javawind/archive/2008/11/28/243318.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>『Java』 用 Javac 编译时的问题</title><link>http://www.blogjava.net/Javawind/archive/2008/10/22/235832.html</link><dc:creator>kooyee</dc:creator><author>kooyee</author><pubDate>Tue, 21 Oct 2008 18:03:00 GMT</pubDate><guid>http://www.blogjava.net/Javawind/archive/2008/10/22/235832.html</guid><wfw:comment>http://www.blogjava.net/Javawind/comments/235832.html</wfw:comment><comments>http://www.blogjava.net/Javawind/archive/2008/10/22/235832.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Javawind/comments/commentRss/235832.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Javawind/services/trackbacks/235832.html</trackback:ping><description><![CDATA[在用 Javac 编译时出现：<br />
<br />
E:\classes&gt;javac ObjectImpl.j<br />
ObjectImpl.java:12: 找不到符号<br />
符号： 类 Point<br />
public class ObjectImpl implements Object{<br />
<br />
这类问题是由于CLASSPATH没有设置正确导致的。由于没有设置，class找不到编译时需要的其他classes<br />
<br />
解决方法：<br />
把本地目录设为classpath：<br />
<br />
E:\classes&gt;set CLASSPATH=.<br />
<br />
然后再调用javac<img src ="http://www.blogjava.net/Javawind/aggbug/235832.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Javawind/" target="_blank">kooyee</a> 2008-10-22 02:03 <a href="http://www.blogjava.net/Javawind/archive/2008/10/22/235832.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是＊.ps文件</title><link>http://www.blogjava.net/Javawind/archive/2008/10/04/232350.html</link><dc:creator>kooyee</dc:creator><author>kooyee</author><pubDate>Sat, 04 Oct 2008 10:18:00 GMT</pubDate><guid>http://www.blogjava.net/Javawind/archive/2008/10/04/232350.html</guid><wfw:comment>http://www.blogjava.net/Javawind/comments/232350.html</wfw:comment><comments>http://www.blogjava.net/Javawind/archive/2008/10/04/232350.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Javawind/comments/commentRss/232350.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Javawind/services/trackbacks/232350.html</trackback:ping><description><![CDATA[在INTERNET上查找资料的朋友可能会经常碰到＊.ps文件，这些＊.ps文件可能是某个大学的入学申请表，也可能是某个软件的使用文档，或者是某个公司的简历。你把这些文件下载下来后可能会发现不知道怎样读它！用EDIT等文本编辑器打开一看，文件开头都是些乱七八糟的字符,用Microsoft word也不能读它，再打开图像编辑软件如Photoshop还是读不了！那么这些＊.ps文件到底是什么东西呢？
<p>　　什么是PS？ <br />
　　这里的ps是PostScript的缩写.PostScript是Adobe公司开发的一种可编程打印控制语言。大家平常看到的所谓&#8220;PostScript"打印机就是指支持&#8220;PostScript&#8221;语言的打印机。 <br />
　　现在常用的打印控制语言有三种： <br />
　　一种是针打的标准，EPSON公司的EPSON打印控制语言，凡是针式打印机都标明同EPSON兼容，其实这里的兼容就是指支持EPSON打印控制语言；一种是HP的PCL，即Print Control Language的缩写；还有一种就是今天要介绍的PostScript。 <br />
　　＊.ps文件就是指这个文件已经用PostScript语言处理过了，可以直接在PostScript打印机上输出（相当于文本文件加上HTML标记后就成了HTML文件一样）。例如我们只需用下面命令：copy/b name.ps prn即可把一个＊.ps在PostScript打印机上打印出来。 <br />
　　大家可能觉得这样做很麻烦，直接用个文本文件或WORD文件不就可以了吗？既然INTERNET上流行＊.ps文件，自然有它的道理了。 <br />
　　假设一个大学要在网上发布入学申请表，最简单的办法是搞一个文本文件，任何机器都可识别，但是在文本文件里无法加入排版信息，这样每个人寄回来的表格格式可能都不一样。用WORD当然可以，但如果机器没装WORD怎么办？如果是一台工作站根本不能装WORD又怎么办呢？ <br />
　　PostScript是一种页面描述语言，由Adobe公司于1985年开发成功（Adobe正是靠PostScript起家的）PostScript最重要的用途是以设备无关方式描述图形，这样，同一个描述可以不加修改地在任一台PostScript打印机上输出。另外，用PostScript还可以在计算机屏幕及其它绘图设备上绘图，可以在屏幕上显示相应的PostScript文件。PostScript由于可以满足上述条件，所以在网上广为流行。 <br />
阅读PS文件的工具 <br />
　　＊.ps是网上广为流传的文件格式,如何使用这种文件格式呢?下面介绍一个最著名的PostScript实用工具Ghostscript。 <br />
　　Ghostscript是一个Postscript解释器，它可以在许多操作系统上运行，如DOS，WINDOWS31，WINDOWS95，WINDOWS NT，MACHINTOSH，UNIX，OS/2，VAX/VMS等。Ghostscript主要有两个功能： <br />
　　1.屏幕输出：可以在屏幕上显示Postscript文件。 <br />
　　2 打印输出：可以在非Postscript打印机上打印Postscript文件。 <br />
　　现在Ghostscrip的WIN95最新版是5.10版，Ghostscript采用的是命令解释行，使用不太方便。运行Ghostscript后屏幕出现如下所示的命令窗口： <br />
　　GS&gt;_ <br />
　　注意这是Ghostscript的窗口提示符，而不是DOS下的提示符。在该提示符下使用有关命令即可。 <br />
　　比如输入： <br />
　　GS&gt;(tiger.ps) run <br />
　　就可以在屏幕上显示 tiger.ps 文件。具体的命令你得学习随机提供的用户手册。 <br />
　　由于命令解释方式使用不太方便，Ghostscript还提供了一个前端产品：GSVIEW。GSVIEW不能单独运行，必须先安装了Ghostscript，然后才能运行GSVIEW。GSVIEW的WINDOWS版是标准的WINDOWS程序，使用十分方便，这里介绍最新版GSVIEW 2.4。 <br />
　　下面通过介绍各个菜单项的作用来说明GSVIEW的功能（仅列了最常见的菜单选项）： <br />
　　1. <br />
　　Open:打开一个文件，目前GSVIEW支持的文件格式有：＊.ps,＊.eps,＊.epi,＊.pdf.在文件选择窗口中选中你希望的文件即可在屏幕上阅读文档了。 <br />
　　Select :同Open相似，但不显示文件，主要用于在打印文件前先选择一个文件（你可能只想打印文件，对浏览文件不感兴趣）。 <br />
　　Extract.. :从当前文档中拷贝几页到一个新的.ps文件中。 <br />
　　Close:关闭文档。 <br />
　　Info:提示当前文档的一些信息，如文件名，页数，创建日期，标题，页码顺序等。 <br />
　　Print:打印。如果你的打印机不支持Postscript，则选择该选项。然后根据屏幕提示选择你当前使用的打印机类型，分辨率（各个打印机可用的分辨率不一样），打印页码即可开始打印。多么简单！ <br />
　　Print :如果你的打印机是Postscript打印机，则选该选项直接打印，GSVIEW直接将打印序列发到打印机，什么都不做。 <br />
　　Show message:显示程序运行的一些消息，如Ghostscript DLL的位置等，同用户关系不大。 <br />
　　Exit:退出GSVIEW。 <br />
　　以上其实就可以满足基本需要了，当然GSVIEW还提供了其它许多功能。 <br />
　　2.Edit <br />
　　Copy:这里的Copy和一般程序里的Copy概念不一样，这里是将当前页显示的内容作为BMP图片拷贝到剪贴板中。 <br />
　　Paste To:将用Copy命令拷贝到剪贴板中的内容输出到BMP文件中。 <br />
　　Text Extract :将.ps文件中的文本输出到文本文件中。 <br />
　　Find:在文档中查找字符串。 <br />
　　3.Oretenation <br />
　　显示方式，如可以左转90度，右转90度等。 <br />
　　4.Media <br />
　　Display Settings:设置显示方式：如分辨率，放大分辨率等。下面还列出了许多纸张类型，如A4、A3.....等，就不一一列出。 <br />
　　GhostScript和GSVIEW的获得及安装 <br />
　　读者可通过以下地址下载GhostScript和GSVIEW： <br />
　　http://www.cs.wisc.edu/~ghost/aladdin/ <br />
get510.html <br />
　　你总共需要下载以下四个文件： <br />
　　GSV24W32.ZIP 553,953 <br />
　　GS510W32.ZIP 568,543 <br />
　　GS510INI.ZIP 827,092 <br />
　　GS510FN1.ZIP 1,170,038 <br />
　　将以上四个文件拷贝到一个子目录中，然后用WINZIP打开GSV24W32.ZIP，在WINZIP中直接运行其中的SETUP即可(编者注:我们在该网址发现了GSVIEW 2.6版本－GSV26W32.ZIP,用它代替第一个文件下载,用WINZIP 将其解压至一个目录,把另三个文件拷至该目录,执行SETUP)。 <br />
相关资源 <br />
　　下列站点中有一些关于PS的资源： <br />
　　http://www.adobe.com/prodindex/postscript/ <br />
main.html <br />
　　postscript的老家,包括postscript描述语言的最新版postscript 3的资料,白皮书及相关资源。 <br />
　　http://www.lasergo.com/ <br />
　　又一个观察postscript文件的工具,并提供一个Netscape Navigator插件,可以在Netscape Navigator中观看ps文件。</p><img src ="http://www.blogjava.net/Javawind/aggbug/232350.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Javawind/" target="_blank">kooyee</a> 2008-10-04 18:18 <a href="http://www.blogjava.net/Javawind/archive/2008/10/04/232350.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>