Emacs基本知识

来源:互联网 发布:北京软件外包公司 编辑:程序博客网 时间:2024/06/01 09:12
 以Control-x起头的是一个完整的命令系列;它们中的许多都是对文件,缓冲,和相关的 东西进行操作的。这些命令有两个,三个或四个字符长。


操作
1)  C-x C-f  :Visit a file(New file && Open file)
2)  F10      :control the filelist
3)  C-g      :中断当前的错误命令从头开始
4)  C-x C-s  :保存文件
5)  C-x C-c  :推出emacs。如果有Buffer中的内容修改了未保存,它会作相应的提示,如果您选择不存,它还要进一步确认是否真的要退出Emacs。
6) C-p, C-n, C-b, C-f:分别对应上下左右;为了方便记忆,请记住pnbf是previous line、next line、backward和forward的缩写。
7) C-l       :清除屏幕并重新显示所有的文本,然后把光标移动到屏幕
8) C-v       :向前翻一整屏。
9) M-v       :向后翻一整屏。

注意比较C-f,C-b与M-f,M-b。通常情况下Meta键用于有关语言单位(词,句,段
落) 的操作;而控制键用于编
辑时的基本单位(字符,行等)。

10)C-a和C-e  :移动到一行的开头和末尾,M-a和M-e移动到一个句子的开头和末尾。
11)M-<(Meta小于):它移动光标到整个文本的开头,
12)M->(Meta大于):它移动光标到整个文本的末尾。
13)C-u <num> <> == M-<num> <>
大多数Emacs命令接收一个数字参数;对大多数命令来说,这表示命令重复的次数
。 输入重复命令次数的方法
是在输入命令之前按C-u和数字。如果你有META(或EDIT或 ALT)键,则有另一种方
法输入数字参数:在按住META

14) C-x 1  :C-x 1使包含光标的窗口占满整个屏幕,屏删除其他所有窗口。
15) <Delete>      删除光标前面的字符
    C-d           删除光标后面的字符

    M-<Delete>    除去光标前面的单词
    M-d           除去光标后面的单词

    C-k           除去从光标位置到行尾的内容
                  注意单个的C-k除去行的内容,第二个C-k除去行本身,并且使后面的所有行上移。
           特别要注意数字参数:它除去很多行和它们的内容,这不仅仅是重复。
                  C-u 2 C-k 除去两行和它们剩下的空行;而按两次C-k并不会这样做.
    M-k           除去到当前句子的末尾
16) C-y(yanking)  拉回一步
    M-y           可以拉回以前被除去的文本。
17)C-u(undo) == C-_    撤消。

18) C-x C-b     列出缓冲(list buffers)

19) C-x s    保存缓冲(save the buffer)
         向你询问每个改动过但未存盘的缓冲,对每个这样的缓冲都询问是否保存。

注意“除去(killing)”与“删除(Deleting)”之间的区别,被除去的东西能被拉
回 来,而被删除的不能。通
常除去能除去很多的文本屏保存,而删除只能除去一个字符,或是空行或空格,并
且不保存。
如果你用C-x C-f查找第二个文件,第一个文件仍然留在Emacs里。你可以再用C-x C-f查找 一次来切换回去。用这种方法你在Emacs里有很多文件。

20) C-x C-c : 推出emacs。(不必担心你所作的改动会丢失,在退出Emacs 之前,C-x C-c会提示你
保存每一个改动过的文件)。

21)C-x C-z : C-z命令用于*临时*退出Emacs,所以你能回到原来运行的Emacs里。在允许这样做
的 系统上,C-z把Emacs“挂起”;就是说回到外壳(shell)下,但并不破坏运行的Emacs。 在大多数外壳
上,你能用‘fg’命令或‘%emacs’来继续Emacs。

在不支持挂起的系统上,C-z建立一个子外壳(subshell)运行于Emacs下以使你能运
行 其他程序然后回到Emacs;这并不是真正的“退出”Emacs。在这种情况下,通常从 子外壳回到Emacs的外壳命令是‘exit’。

22)字符串替换:
替换 字符串的命令,它在全文里把字符串替换为其他的。当你键入M-x, Emacs会在屏幕的底部 提示你输入命令;在这种情况下,是“replace-string”。比如输入“repl s<TAB>”, Emacs会把命令补全。用<Return>来结束命令。

替换字符串命令要求两个参数--要被替换的字符串和用来替换的字符串。你必须用<Return> 来结束两个参数。

>> 把光标移上两行,然后输入M-x repl s<TAB><Return>changed<Return>altered
 <Return>。 注意现在这一行
改变了:你把光标初始位置后的所有单词c-h-a-n-g-e-d替换为了 “altered”

23)* 自动保存(AUTO SAVE)
------------------------------------

当你改动了一个文件还未存盘的话,所作的改动也许会由于系统崩溃而丢失。为防
止这种情况发生,Emacs在编
辑时为每个文件提供了“自动保存(auto save)”。自动保存的文件的文件名前后
都有一个#号;例如,如果你编
辑的文件名 叫“hello.c”,自动保存的文件的文件名就叫“#hello.c#”。当你
正常的保存了文件后,Emacs会
删除这个自动保存的文件。如果遇到死机,你能打开那个文件后按M-x
recoverfile<Return>来恢复你的编辑,
(是你编辑的文件而不是自动保存的文件)。当提示确认时,输入yes<Return> 来继
续恢复自动保存的数据。

24) ESC !       : 一次执行一条UNIX命令
25) ESC x shell : 使用shell模式

26)M-w(kill-ring-save) : 复制
       C-w(kill-region)      :  剪切
       C-y                           : 粘贴
       Ctrl+Spacebar       : 在缓冲下部就会显示出文本标记
       M-y(yank-pop)        : 这就会用将倒数第二次的文本选择插入我们的缓冲区中。接下来的M -y可以用更旧的文                                           本选择来替换。
       C-k(kill- line)           : 他会将从当前光标处直到本行结束的文本移除并放入剪切板中.我们可以多次按下这
                                           个键 ,这样就可以移除多行文本并将其加入剪切板中.这样如果我们粘贴文本,所有的
                                           行就会做为一个整体进行操作。
       C-x C-w (write-file) : 另存为。

27)下面也许是我们会打开一个并不存在的文件的原因:
    1 我们要编辑一个新的文件.
    2 我们输入了错误的文件名,也就是我们实际要编辑的是另一个文件.
    在后一种情况下,我们要通过命令C-x k(kill-buffer)来杀掉为新文件所打开的缓冲区,然后再打开我们要编辑的文 件.  一个更好的办法就是我们可以按下C-x C-v (find-alternate-file),这个方法会同时完成上面的两步操作.

============================================================
自动对格式进行整理   ************************
*******************
C-j : 对下一行进行正确的缩进。
TAB : 对光标所在行进行正确的缩进。
ESC C-/: 对光标和文本块之间的每一行进行正确的缩进。
C-X h ESC C-/:对整个文本进行正确的缩进。
ESC m : 光标移到当前行第一个非空白字符上。
ESC ^ : 当前行合并到上一行。
ESC x c-set-style : 从给定的缩进方式中选一个。
*********
注释     **********************************
*********
ESC ; : 光标所在行尾加注释。
        选种文本块再用“ESC ;”把该文本块变为注释。再次“ESC ;”取消注释。
ESC j : 把该行注释文本拆为两行。


OTHERS    ********************************
C-x h : 全选。
原创粉丝点击