⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000019.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;costa&nbsp;(老猫~continue),&nbsp;信区:&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Emacs&nbsp;tips&nbsp;from&nbsp;freebsd.org.cn&nbsp;(转载)&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Sun&nbsp;Jun&nbsp;11&nbsp;22:00:50&nbsp;2000)&nbsp;<BR>&nbsp;<BR>【&nbsp;以下文字转载自&nbsp;FreeBSD&nbsp;讨论区&nbsp;】&nbsp;<BR>【&nbsp;原文由&nbsp;hhuu&nbsp;所发表&nbsp;】&nbsp;<BR>emacs小技巧&nbsp;&nbsp;&nbsp;<BR>本技巧集会持续更新,&nbsp;您可以先抓回去,&nbsp;使用&nbsp;Emacs&nbsp;的&nbsp;outline-mode&nbsp;达到较&nbsp;<BR>&nbsp;&nbsp;<BR>好的浏览效果&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;gdbsrc&nbsp;&nbsp;<BR>在&nbsp;XEmacs&nbsp;下,&nbsp;M-x&nbsp;gdbsrc&nbsp;在除错上比&nbsp;M-x&nbsp;gdb&nbsp;更方便,&nbsp;可以直接在&nbsp;&nbsp;<BR>source&nbsp;buffer&nbsp;按&nbsp;n,&nbsp;s&nbsp;等键&nbsp;trace。&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;Meta&nbsp;键&nbsp;&nbsp;<BR>Emacs&nbsp;最令&nbsp;PC&nbsp;上的初学者痛恨的,&nbsp;就是得利用无名指去「勾」&nbsp;Esc&nbsp;当&nbsp;Meta&nbsp;用&nbsp;<BR>&nbsp;&nbsp;<BR>了,&nbsp;其实这不是&nbsp;Emacs&nbsp;的错,&nbsp;在&nbsp;Emacs&nbsp;刚出现的年代,&nbsp;终端机上有那些键还&nbsp;<BR>&nbsp;&nbsp;<BR>没一定的标准呢!&nbsp;&nbsp;<BR>&nbsp;<BR>有些键盘,&nbsp;如&nbsp;Sun&nbsp;的机器,&nbsp;会有独立的&nbsp;Meta&nbsp;键。&nbsp;此外假如你有张&nbsp;Win95&nbsp;相&nbsp;<BR>&nbsp;&nbsp;<BR>容键盘,&nbsp;上面的&nbsp;「Windows键」&nbsp;可以当做&nbsp;Meta&nbsp;用。&nbsp;(&nbsp;但非&nbsp;sticky,&nbsp;比如说&nbsp;<BR>&nbsp;&nbsp;<BR>要打&nbsp;M-x,&nbsp;你得将&nbsp;「Windows键」&nbsp;跟&nbsp;x&nbsp;一起按下)&nbsp;&nbsp;<BR>&nbsp;<BR>GNU&nbsp;Emacs&nbsp;20&nbsp;和&nbsp;XEmacs&nbsp;都支援这功能。&nbsp;&nbsp;<BR>&nbsp;<BR>不过在某些&nbsp;Windows&nbsp;Manager&nbsp;下,&nbsp;比如说&nbsp;fvwm,&nbsp;这功能似乎会失效。&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;filladapt-mode&nbsp;&nbsp;<BR><A HREF="http://www.automatrix.com/~skip/xemacs/filladapt.htm">http://www.automatrix.com/~skip/xemacs/filladapt.htm</A>&nbsp;&nbsp;<BR>&nbsp;<BR>强烈,&nbsp;强烈推荐一定要试试看。&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;outline-mode&nbsp;&nbsp;<BR>我以前在一年内用掉两本大型活页本,&nbsp;叠起来约莫&nbsp;10&nbsp;公分。&nbsp;现在我有个&nbsp;500&nbsp;&nbsp;<BR>&nbsp;<BR>多&nbsp;K&nbsp;的&nbsp;outline&nbsp;档,&nbsp;折叠起来只有&nbsp;400&nbsp;多行,&nbsp;我可以按几个键搜索、剪贴或&nbsp;<BR>&nbsp;&nbsp;<BR>是插入...&nbsp;&nbsp;<BR>&nbsp;<BR>现在还有什麽遗憾呢?&nbsp;大概是&nbsp;X-Windows&nbsp;没有自然注音吧...&nbsp;&nbsp;<BR>&nbsp;<BR>你最好了解&nbsp;narrowing&nbsp;後再使用&nbsp;outline-mode,&nbsp;否则可能会不小心删到不该删&nbsp;<BR>&nbsp;&nbsp;<BR>的。&nbsp;&nbsp;<BR>&nbsp;<BR>此外&nbsp;hyperbole&nbsp;的&nbsp;koutline-mode&nbsp;更为强大,&nbsp;可自动编号,&nbsp;anchoring,&nbsp;&nbsp;<BR>hyperlink,&nbsp;不过&nbsp;XEmacs&nbsp;20.4&nbsp;无法执行,&nbsp;GNU&nbsp;Emacs&nbsp;or&nbsp;其他版本的&nbsp;XEmacs&nbsp;&nbsp;<BR>&nbsp;<BR>倒可试试。&nbsp;&nbsp;<BR>&nbsp;<BR><A HREF="http://www.altrasoft.com/hyperbole.html">http://www.altrasoft.com/hyperbole.html</A>&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;tip&nbsp;tip&nbsp;tip&nbsp;&nbsp;<BR>&nbsp;<BR><A HREF="http://www.automatrix.com/~skip/xemacs/tip.html">http://www.automatrix.com/~skip/xemacs/tip.html</A>&nbsp;&nbsp;<BR><A HREF="http://www-numi.fnal.gov:8875/fnal_minos/computing/emacs_primer.html">http://www-numi.fnal.gov:8875/fnal_minos/computing/emacs_primer.html</A>&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;redo&nbsp;&nbsp;<BR>Emacs&nbsp;下的&nbsp;redo&nbsp;是在&nbsp;undo&nbsp;之後,&nbsp;「移动游标」,&nbsp;接著再&nbsp;undo,&nbsp;有点儿不直&nbsp;<BR>&nbsp;&nbsp;<BR>觉,&nbsp;以前看过解释,&nbsp;忘了。&nbsp;&nbsp;<BR>&nbsp;<BR><A HREF="http://www.wonderworks.com/">http://www.wonderworks.com/</A>&nbsp;,&nbsp;有个&nbsp;redo&nbsp;package&nbsp;可安装,&nbsp;虽然我没试过。&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;寻找相关的&nbsp;Elisp&nbsp;程式&nbsp;&nbsp;<BR>&nbsp;<BR>请到&nbsp;DejaNews&nbsp;Power&nbsp;Search&nbsp;&nbsp;<BR><A HREF="http://www.dejanews.com/home_ps.shtml">http://www.dejanews.com/home_ps.shtml</A>&nbsp;&nbsp;<BR>Forum&nbsp;中输入&nbsp;gnu.emacs.sources&nbsp;&nbsp;<BR>并搜索你想要的程式。&nbsp;&nbsp;<BR>&nbsp;<BR>比如说你可以查查&nbsp;cxref&nbsp;或&nbsp;dict。&nbsp;&nbsp;<BR>&nbsp;<BR>此外&nbsp;<A HREF="http://www.xemacs.org/elisp.html">http://www.xemacs.org/elisp.html</A>&nbsp;&nbsp;<BR><A HREF="http://www.anc.ed.ac.uk/~stephen/emacs/ell.html">http://www.anc.ed.ac.uk/~stephen/emacs/ell.html</A>&nbsp;(200&nbsp;多个&nbsp;elisp&nbsp;程式)&nbsp;&nbsp;<BR>也整理了一些相关的联结。&nbsp;&nbsp;<BR>&nbsp;<BR>通常&nbsp;unix&nbsp;下常用软体,&nbsp;从&nbsp;debugger、cvs&nbsp;到&nbsp;IRC,&nbsp;都有&nbsp;Emacs&nbsp;提供「一致&nbsp;&nbsp;<BR>&nbsp;<BR>的介面」,&nbsp;Unix&nbsp;下标准的&nbsp;「UI」&nbsp;通常有几种&nbsp;&nbsp;<BR>&nbsp;<BR>0.输入选项,&nbsp;执行,&nbsp;读入标准输入,&nbsp;输出到标准输出。&nbsp;(non-interactive)&nbsp;&nbsp;<BR>1.terminal&nbsp;(文字模式&nbsp;editors...)&nbsp;&nbsp;<BR>2.GNU&nbsp;getline&nbsp;(提供&nbsp;Emacs&nbsp;或&nbsp;vi&nbsp;按键相容,&nbsp;如&nbsp;bash,&nbsp;tcsh)&nbsp;&nbsp;<BR>3.X-Windows&nbsp;(通常很不统一,&nbsp;CDE&nbsp;,&nbsp;gnome&nbsp;,&nbsp;kde&nbsp;等提供整合工作环境)&nbsp;&nbsp;<BR>4.Emacs&nbsp;(本身就是整合的工作环境)&nbsp;&nbsp;<BR>&nbsp;<BR>一个&nbsp;tty&nbsp;下的程式,&nbsp;即使你找不到它的&nbsp;X-Windows&nbsp;frontend,&nbsp;你依然可能找&nbsp;&nbsp;<BR>&nbsp;<BR>到它的&nbsp;Emacs&nbsp;frontend,Enjoy&nbsp;it!&nbsp;:)&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;alt&nbsp;key&nbsp;&nbsp;<BR>假如为了必免按键定义冲突,&nbsp;你可以将快速键定义在&nbsp;alt-&nbsp;&nbsp;<BR>可惜&nbsp;tty&nbsp;下不能这样定义。&nbsp;(这是我喜欢&nbsp;X-Windows&nbsp;的一个主要原因)&nbsp;&nbsp;<BR>以下是我偏好的设定&nbsp;&nbsp;<BR>&nbsp;<BR>(define-key&nbsp;global-map&nbsp;'(alt&nbsp;?0)&nbsp;'delete-window)&nbsp;&nbsp;<BR>(define-key&nbsp;global-map&nbsp;'(alt&nbsp;?1)&nbsp;'delete-other-windows)&nbsp;&nbsp;<BR>(define-key&nbsp;global-map&nbsp;'(alt&nbsp;?2)&nbsp;'split-window-vertically)&nbsp;&nbsp;<BR>(define-key&nbsp;global-map&nbsp;'(alt&nbsp;?3)&nbsp;'split-window-horizontally)&nbsp;&nbsp;<BR>(define-key&nbsp;global-map&nbsp;'(alt&nbsp;?o)&nbsp;'other-window)&nbsp;&nbsp;<BR>(define-key&nbsp;global-map&nbsp;'(alt&nbsp;?k)&nbsp;'kill-buffer)&nbsp;&nbsp;<BR>(define-key&nbsp;global-map&nbsp;'(alt&nbsp;?s)&nbsp;'save-buffer)&nbsp;&nbsp;<BR>(define-key&nbsp;global-map&nbsp;'(alt&nbsp;?d)&nbsp;'switch-to-buffer)&nbsp;&nbsp;<BR>&nbsp;<BR>此外建议你不要&nbsp;override&nbsp;Emacs&nbsp;原本的按键设定。&nbsp;因为很多按键会在别的&nbsp;&nbsp;<BR>mode&nbsp;被重新定义,&nbsp;而他们会被定义到有关连意义的指令。&nbsp;(如&nbsp;C-n&nbsp;会定义到「&nbsp;<BR>&nbsp;&nbsp;<BR>往下..」)&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;open&nbsp;new&nbsp;frame&nbsp;&nbsp;<BR>&nbsp;<BR>C-x&nbsp;5&nbsp;2&nbsp;是非常方便的功能。&nbsp;关闭请用&nbsp;C-x&nbsp;0。&nbsp;比如当你在分割视窗&nbsp;(C-x&nbsp;&nbsp;<BR>2&nbsp;或&nbsp;3),&nbsp;想要独立放大单一&nbsp;window&nbsp;时,&nbsp;可以在那&nbsp;window&nbsp;按&nbsp;C-x&nbsp;5&nbsp;2。&nbsp;此外&nbsp;<BR>&nbsp;&nbsp;<BR>别忘了&nbsp;C-z&nbsp;可以暂时缩小目前的&nbsp;frame。&nbsp;每个&nbsp;frame&nbsp;有自己的&nbsp;minibuffer。&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>善用&nbsp;frame&nbsp;在某些方面会比&nbsp;screen+window&nbsp;(another&nbsp;&quot;windows&quot;&nbsp;under&nbsp;&nbsp;<BR>ttys)&nbsp;好用。&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;regular&nbsp;expression&nbsp;search&nbsp;&nbsp;<BR>C-u&nbsp;C-s&nbsp;可以直接使用&nbsp;regular&nbsp;expression&nbsp;来&nbsp;isearch。&nbsp;这是「非常」好用的&nbsp;<BR>&nbsp;&nbsp;<BR>功能。&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;narrowing&nbsp;&nbsp;<BR>narrowing&nbsp;是一个蛮好用的功能。&nbsp;&nbsp;<BR>因为&nbsp;replace-string&nbsp;或&nbsp;replace-regexp&nbsp;会代换至&nbsp;buffer&nbsp;尾端,&nbsp;假如你只想&nbsp;<BR>&nbsp;&nbsp;<BR>要代换一部分的字串,&nbsp;请先将那区域&nbsp;narrow&nbsp;起来。&nbsp;&nbsp;<BR>C-x&nbsp;n&nbsp;n&nbsp;(narrow)&nbsp;&nbsp;<BR>C-x&nbsp;n&nbsp;w&nbsp;(还原)&nbsp;&nbsp;<BR>在&nbsp;.emacs&nbsp;中加上&nbsp;&nbsp;<BR>(put&nbsp;'narrow-to-region&nbsp;'disabled&nbsp;nil)&nbsp;;enable&nbsp;without&nbsp;confirmation&nbsp;&nbsp;<BR>可以必免每次它都会询问你&nbsp;&nbsp;<BR>&nbsp;<BR>比如说你可以先将一个&nbsp;region&nbsp;narrow&nbsp;起来&nbsp;&nbsp;<BR>接著&nbsp;M-x&nbsp;replace-regexp&nbsp;『^』『&nbsp;』&nbsp;&nbsp;<BR>就可将此段落缩排&nbsp;4&nbsp;个空白。&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;evaluate&nbsp;emacs&nbsp;expression&nbsp;under&nbsp;buffer&nbsp;&nbsp;<BR>Emacs&nbsp;是一个&nbsp;Lisp&nbsp;Environment,&nbsp;这代表大部份的程式(用&nbsp;lisp&nbsp;写的那几十万&nbsp;<BR>&nbsp;&nbsp;<BR>行)&nbsp;都是可以在执行期间动态改变的。&nbsp;由於&nbsp;Lisp&nbsp;的性质,&nbsp;你不太可能因为写错&nbsp;<BR>&nbsp;&nbsp;<BR>程式而造成&nbsp;Emacs&nbsp;core&nbsp;dump,&nbsp;相对於&nbsp;C,&nbsp;你只要在几十万行程式中弄错一个&nbsp;&nbsp;<BR>&nbsp;<BR>pointer,整个程式会立刻&nbsp;crash&nbsp;掉。&nbsp;&nbsp;<BR>&nbsp;<BR>即使你不需要利用&nbsp;Lisp&nbsp;customize,&nbsp;了解&nbsp;lisp&nbsp;对於编辑工作也是很方便的。&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>在大部份编辑&nbsp;buffer&nbsp;中,&nbsp;在一个&nbsp;lisp&nbsp;expression&nbsp;後按&nbsp;C-c&nbsp;C-e&nbsp;即可&nbsp;&nbsp;<BR>evaluate&nbsp;这个&nbsp;expression。&nbsp;&nbsp;<BR>&nbsp;<BR>比如在你可先在你的日记&nbsp;buffer&nbsp;上直接打入以下程式:&nbsp;&nbsp;<BR>&nbsp;<BR>(setq&nbsp;index&nbsp;1)&nbsp;※&nbsp;&nbsp;<BR>(setq&nbsp;chinese-week&nbsp;'(&quot;日&quot;&nbsp;&quot;一&quot;&nbsp;&quot;二&quot;&nbsp;&quot;三&quot;&nbsp;&quot;四&quot;&nbsp;&quot;五&quot;&nbsp;&quot;六&quot;))&nbsp;※&nbsp;&nbsp;<BR>(while&nbsp;(&lt;&nbsp;index&nbsp;20)&nbsp;&nbsp;<BR>(insert&nbsp;&quot;\n*&nbsp;--&nbsp;1/&quot;&nbsp;(number-to-string&nbsp;index)&nbsp;&nbsp;<BR>&quot;(&quot;&nbsp;(nth&nbsp;(mod&nbsp;(+&nbsp;4&nbsp;index)&nbsp;7)&nbsp;chinese-week)&nbsp;&quot;)&nbsp;--&quot;)&nbsp;&nbsp;<BR>(setq&nbsp;index&nbsp;(1+&nbsp;index)))&nbsp;※&nbsp;&nbsp;<BR>&nbsp;<BR>并在标示&nbsp;※&nbsp;的地方都按&nbsp;C-c&nbsp;C-e,&nbsp;则&nbsp;Emacs&nbsp;就会在&nbsp;buffer&nbsp;中直接插入&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;--&nbsp;1/1(五)&nbsp;--&nbsp;&nbsp;<BR>&nbsp;<BR>*&nbsp;--&nbsp;1/2(六)&nbsp;--&nbsp;&nbsp;<BR>*&nbsp;--&nbsp;1/3(日)&nbsp;--&nbsp;&nbsp;<BR>...&nbsp;&nbsp;<BR>&nbsp;<BR>假如你不喜欢&nbsp;lisp,&nbsp;当然也写个&nbsp;perl&nbsp;script&nbsp;也不错,&nbsp;在不过得小心的是&nbsp;&nbsp;<BR>perl&nbsp;处理某些中文字元得作特殊的&nbsp;quoting。&nbsp;&nbsp;<BR>&nbsp;<BR>同样的技巧蛮适合处理&nbsp;regular&nbsp;expression&nbsp;的替换。&nbsp;请善用&nbsp;replace-regexp&nbsp;&nbsp;<BR>&nbsp;<BR>这个函式。&nbsp;在目前缺乏中文的&nbsp;sed&nbsp;或&nbsp;perl&nbsp;的情况下,&nbsp;这是我所知唯一能处理&nbsp;<BR>&nbsp;&nbsp;<BR>中文&nbsp;regular&nbsp;expression&nbsp;的方法。&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>&nbsp;&nbsp;Laker,&nbsp;Laker,&nbsp;Laker,&nbsp;Laker.............................&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;To&nbsp;the&nbsp;next&nbsp;step.&nbsp;<BR>&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;smth.org·[FROM:&nbsp;166.111.160.6]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -