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

📄 2.html

📁 网上一个牛人整理的关于linux内核编译
💻 HTML
📖 第 1 页 / 共 5 页
字号:
注意Backspace = C-h 在Emacs下是help的意思<br>
後面有(kill)的, 表示此删除的动作是kill, 不太等於delete.<br>
emacs会把kill掉的东西放到kill ring去, 算是一种暂存的地方,<br>
以後可以叫出来.见 yank说明.<p>
<br>
Undo: C-x u<br>
C-_ 等於 C-x u&nbsp;&nbsp;&nbsp; 有些DEC终端机, C-/就是C-_<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有时等於C-Shift- -<p>
重复执行<p>
举例, 向右移 8个字, C-u 8 C-f<br>
C-u 在Emacs里是蛮特别的,用来设定一些引数(argument/repeat count)<br>
给其後的命令.<p>
C-u 2 0 C-n 向下移 20行<p>
有一个特别的例外, C-u 3 C-v 不是翻三页, 而是整个萤幕向上移三行.<br>
据说这比较有意义.<p>
C-u 1 0 C-x u&nbsp;&nbsp; UNDO 10次<p>
给C-L一个引数会怎麽样:<br>
C-u 0 C-l 会重画萤幕,并且把目前的行移到萤幕第一行.<p>
另外, C-u 100&nbsp;&nbsp; 等於 M-100<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C-u 数字&nbsp; 等於 M-数字<p>
X windows 下,<br>
C-left C-right 一次移一个字(word).<br>
C-up C-down 移动一段 (paragraphs/C语言的话是block)<br>
Home = C-a<br>
End = C-e<br>
C-Home = M-&lt;<br>
C-end = M-&gt;<br>
PgUp PgDn = M-v C-v<br>
设定重覆次数更加简单,<br>
比如要向右移10个字 C-1 C-0 right-arrow<br>
&nbsp; 就是按住CTRL, 然後打10就对了, 比 C-u 1 0 简单.<p>
Mouse中键用来选取有hi-light的地方.<br>
&nbsp;&nbsp;&nbsp;&nbsp; 右键是menu-button<p>
如果不小心按两次ESC, 等於 M-ESC,&nbsp; 会有一个讯息跑出来<br>
说你按到一个被disable的命令. 这是高级指令, 作者认为<br>
初学者用不道,所以会问你要不要启动它, 一般回答no.<p>
如果某一行太长, 萤幕显示不下, Emacs会在萤幕最右边打个$,<br>
表示此行未完,右边还有.<p>
把一行拆成两行: 在想拆处按Enter即可.<br>
合并两行为一行: 在行尾按C-d (或行首按DEL)<p>
Yank: 吐出被删掉的(killed)东西.<p>
只要用kill (C-k, M-k等) 删除, 超过一个字的资料,<br>
emacs就会把它存起来, 然後C-y 可以把它叫出来.<br>
功能跟Cut &amp; Paste一样. Kill 和delete不一样, 只有被<br>
kill掉的东西才能用yank吐回来.<p>
游标在同一地方不动, 连续kill掉的资料会被当成一次kill掉的,<br>
yank时会一起回来.<p>
被Kill掉的资料是放在称作 kill ring的资料结构上面, ring就是个圆圈,<br>
被kill掉的东西会依序摆在圆圈上. yank 会放回最近一次kill掉的资料.<br>
如果不是你想要的话, 用M-y 可以换.&nbsp; (M-y就是告诉emacs, 不对不对,<br>
我不是要这一个,换前一个给我).<p>
M-y 要紧接在C-y之後.<p>
拷贝文字的方法== 连续 C-k 几次,&nbsp; 把要拷贝的行全部删掉,<br>
然後按 C-y 弄回来. 再到想复制的地方按一次C-y, 就成了.<p>
把要拷贝的资料kill掉在yank回来好像很笨. 是有比较文明的<br>
方法, 那就是M-w, 不过较麻烦.<p>
首先,要先设标记. Mark 用 C-SPC 或 C-@ 设. 然候<br>
把游标移到另一端, 按 M-w 就可以把 mark 到 point间的<br>
字存到kill ring上. point 就是游标的意思.<p>
Emacs不会把Mark起来的地方用highlight表示, 除非在X下.<br>
在X下, 可以用M-w 来拷贝用滑鼠反白的文字.<p>
kill &amp; yank 就是 cut &amp; paste的意思.<p>
<br>
以上大部份指令对Bash的命令列编辑也有效<p>
档案操作<br>
读档: Emacs术语叫 finding a file.<br>
C-x C-f 然後在mini-buffer输入档名. 输入档名时, SPC键有<br>
 auto-complete的功能,或者会秀出到目前为止档名前几<br>
个字和输入一样的. (TAB键也有类似功能)<p>
C-x C-f 叫 find-file<p>
C-x C-s 存档 (save current file, save current buffer)<br>
C-x s&nbsp;&nbsp; 存所有的档<p>
C-x i&nbsp;&nbsp; 插入档案&nbsp; 把另外的档案的内容读入目前编辑区内<p>
视窗<br>
Emacs把档案读进来,存在buffer中.<br>
我们透过window来看/编辑buffer.<p>
两个视窗会把萤幕切成两部份, 他们可以同时显示<br>
相同的, 或不同的档案.<p>
对初学者而言, 最需要的是记住怎样让不想要的视窗消失:<p>
C-x 0 关掉目前的视窗<br>
C-x 1 会让目前的视窗占满整个萤幕 (One Window),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取消/关掉其他的视窗.<p>
Emacs里面有许多功能都会开一个小视窗来和使用者沟通, 显示讯息.<br>
有时候不会自动消失很讨厌, C-x 1 就很有用.<p>
另一个功能是如何跳到另一个视窗.<br>
C-x o&nbsp; (other-window)<p>
<br>
C-x 2 把目前的视窗切成两个 (水平分割)<br>
C-x 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (垂直分割)<br>
C-x 4 是一串与视窗有关的指令.<br>
C-x 4 是一串与视窗有关的指令.<br>
C-x 5 则是扩展到X的视窗, 称为frame.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C-x 5 2 就是再开另一个X视窗 (frame).<p>
<br>
多档编辑<br>
C-x C-b 看目前有那些buffer (buffer就是emacs放开起的档案的地方).<br>
C-x b 然後在minibuffer输入buffer的名字,可以切换编辑buffer.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TAB键也有作用. 有些内部的buffer (就是没有档案的buffer),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是用*开头和结束, 这个也要打, 如*scratch*<p>
最候提醒:<br>
&nbsp; C-x 1 可以把多馀的视窗关掉.<p>
<br>
Emacs扩充指令<p>
前面介绍的emacs按键大部份都是C-&lt;chr&gt; 或者 M-&lt;chr&gt;的形式.<br>
这是最简单的按法, 由一对按键构成一个指令.<p>
Emacs的按键可以超过2个以上. 如 C-x 1 或 C-x C-b.<br>
一般超过一个按键组合的命令都是用C-x 开头.<p>
另外你也可以直接下命令. 按 M-x 之後就可以打一个Emacs命<br>
令来执行. 一般这些命令名字都很长, 不过都不常用. 等一下<br>
我们会介绍一些. 还有介绍怎麽把这些命令设成按键指令.<p>
C-x C-c 就是结束Emacs. 不过一般Emacs很笨重, 一旦起动就不轻易<br>
退出. 所以比较常用的是C-z<p>
C-z 把Emacs暂停, 回到命令列. 当你下次再需要编辑时,打fg %emacs<br>
就可以把Emacs唤醒.<p>
在X下, C-z会把emacs缩成icon<p>
<br>
mode line<p>
emacs编辑画面由 编辑区(buffer) 状态列 (modeline) 和对话区 (minibuffer)<br>
构成. 这里解释 modeline 显示的讯息.<p>
以下是个范例:<p>
&nbsp;&nbsp; --**-XEmacs: xemacs.qs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (Fundamental)----74%-------<p>
由後面往前解释, 74% 表示游标的位置.<p>
(Fundamental)表示编辑模式.这是最原始的模式. 编辑不同种类的文章<br>
可能希望用不同的模式, 比如说C-mode, lisp-mode, tex-mode, text-mode<br>
等等. 在不同模式下可能多一些按键出来. 举例text-mode.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M-x text-mode<br>
可以切入text-mode, 这是一般人编辑文字使用的模式. 和Fundamental mode<br>
没什麽差异. 不过游标移动时, Emacs对一个字的定义就有所不同, 因而<br>
M-f M-b 等移动一个字, 一个段落的指令就可能会停在标点符号的前面.<br>
此时状态列变为... (Text)----70%---<p>
以上说的是Major mode. 另外还有minor mode, 其实就是一些额外的功能.<br>
比如说, M-x auto-fill-mode 则状态列显示 (Text Fill).<br>
auto-fill就是自动断行, 让文章每行固定有70个字.<p>
M-X fundamental-mode 可以变回来.<p>
这里要说明一下, emacs在 minibuffer下有auto-completion的功能,<br>
也就是打M-x fund 然後按 SPC, 它会自动补全 fundamental-mode,<br>
不用全打. 如果有两个以上的选择, 它会告诉你. 这个功能对<br>
find-file (C-x C-f)等等档案编辑功能也有效. 前面提过.<br>
最後解释两个**号. 右边的*表示文章被修改过了.<br>
左边的* 表示这个编辑区(buffer)可以修改.<br>
有一些emacs的buffer是read-only buffer, 就会标成%<br>
%%表示档案是read-only.<p>
C-x C-q 可以解开read-only的锁定, 无论如何你要改这个编辑区.<br>
这是个toggle指令, 如果原来是可以修改的, C-x C-q会把它切成<br>
read-only.<p>
<br>
Search<p>
没有Search 功能的编辑器简直就是小朋友的玩具. Search<br>
是一项很重要的功能, 所以emacs也提供的很完善.<br>
 C-s<br>
 C-r<br>
 M-x re-search-forward<br>
 M-x re-search-backward<br>
 M-x search-forward<br>
 M-x search-backward<br>
以上这些指令是基本的search指令. C-s, C-r是increamental search,<br>
就是你打字的同时, emacs就直接帮你找. 一个是forward, 一个是backward.<br>
找到了怎麽办? 按C-g可以取消搜寻, 跳回原来的位置. 按Enter就让游标<br>
停在找到的地方 -- 此时minibuffer显示:Mark saved where search started<br>
什麽意思? 就是isearch帮你在原来的位置设了一个mark, 然後把point<br>
(cursor) 移到新的位置.<br>
想跳回去原先的地方?<br>
C-x C-x 就可以了.(exchange-point-and-mark)<br>
C-u C-SPC 可以依序跳回前几次设mark的地方.<br>
&nbsp; (C-SPC是设mark, 给它一个argument, 就是反动作)<br>
&nbsp; (还记不记得C-u 可以给後面的指令设一些参数.<br>
&nbsp;&nbsp; 有些指令拿这个参数来当作repeat count,<br>
&nbsp;&nbsp; 有些指令就只拿来当作on/off, true/false, set/clear而已)<p>
M-x re-search-forward可以让你用regular expression搜寻.<br>
M-x search-forward则没有increamental的功能.<p>
另外一个指令, 作用和grep很像:<br>
M-x occure<p>
和search相提并论的就是replace.<br>
M-x replace 然後按 SPC, 就知道了.<p>
Emacs的设定:<p>
Emacs的设定档是 $HOME/.emacs<br>
你应该多少知道, emacs是用lisp写成的编辑器, .emacs档也都是<br>
要用lisp的语法设定. emacs用的lisp称为elisp, 和一般的lisp差一点点.<p>
有一个info page, emacs-lisp-intro, 深入浅出的介绍emacs lisp.<br>
如果你还不会, 不懂programming, 强烈建议你看这份文件. 如果你<br>
会texinfo, 你可以把它很漂亮的印出来. (内容一点点而已, 两三<br>
天就看完了)<p>
如果你把.emacs搞砸了, 进emacs很奇怪, 怎麽办?<br>
 1. 用 vi 改 .emacs :&gt;<br>
 2. emacs -q 进 emacs<p>
<br>
Major Modes<p>
一般常见的emacs major mode有<br>
&nbsp; fundamental-mode<br>
&nbsp;&nbsp;&nbsp; text-mode<br>
&nbsp;&nbsp;&nbsp; lisp-mode&nbsp;&nbsp; 有自动对括号/重排, 直接执行lisp code功能.<br>
&nbsp;&nbsp;&nbsp; c-mode/cc-mode c-mode是比较旧的c-mode, cc-mode应该是<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目前新的c-mode. 有自动重排/对括号的功能.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 也可以在emacs内compile, 跳到compiler error<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修正错误. 执行程式时debug. (配合dbx/gdb)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compile是透过Makefile进行.<br>
&nbsp;&nbsp;&nbsp; tex-mode&nbsp;&nbsp;&nbsp; Tex/Latex编辑模示. 可能是打一些奇怪的标点<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 符号比较方便.<br>
&nbsp;&nbsp;&nbsp; &lt;programming-language&gt;-mode<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 同lisp/cc-mode. 如果是interpreter的话,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; emacs通常都可以直接执行/debug.<br>
&nbsp;&nbsp;&nbsp; &lt;programming-language&gt;-mode还有tags的功能, 後述.<p>
&nbsp;&nbsp;&nbsp; html-mode, texinfo-mode, sgml-mode: 编写html, texi, sgml之用.<br>

⌨️ 快捷键说明

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