emacs命令和显示行号设置

一.启动与退出:

开启.#emacs
退出:
C-x C-c: 退出emacs

二. 光标的移动:
M-a: 光标移动到当前句子的句首。
M-e: 光标移动到当前句子的句尾。
C-v: 光标移动到下一屏。
M-v:光标移动到上一屏。

三.删除与拷贝:
C-k : 删至行尾 (kill) 
M-k : 删到一句子结尾(删到句点) (kill) 
C-x u: Undo
C-y : 将粘贴板中的内容拷贝到当前光标位置。
C-x C-o: 将连续的多个空行合并成一个。

删除一个文本区域:
1. 把光标移动到区域的首字符
2. 键入C-@(即ctrl+shift+2),以设置标记
3. 把光标移动到区域的第一个字符(注意这必须是移动光标,而不能通过移动上下键来选定某个地方)
4.键入C-w,删除这个选定区域

如果在这个过程中忘记了区域的开始处,则用C-x C-x (两次C-x)来切换光标位置和标记位置。
Emacs在内部维持着一个记录着最近30次删除操作的环形队列。


复制一个文本区域到另一个地方:
1. 把光标移动到区域的首字符
2. 键入C-@(即ctrl+shift+2),以设置标记
3. 把光标移动到区域的第一个字符(注意这必须是移动光标,而不能通过移动上下键来选定某个地方)
4.键入M-w,拷贝这个选定区域到粘贴板
5. 用光标定位将要粘贴内容的地方,然后键入C-y ,拷贝成功。

如果删除错误,可以通过命令C-x u (Undo的意思)来取消先前的修改操作。

四. 查找和替换:
C-s : 激活emacs的查找工具,默认情况下查找与大小写无关的向前查找方式。
          文本中符合查找的项均变颜色,此时可以用C-s,向前查看符合查询条件的语句,也可以C-r,向后查看符合查询条件的语句。

注意:要修改查询与大小写相关,必须修改~/.emacs文件,我好像没看见我的机器里有这个文件。

emacs支持正则字符串的匹配式查找。这个还未研究。
查找-替换:

1. 键入M-%(alt+shift+
 5 )
2. 键入查找字符串,回车
3. 键入替换字符串,回车
4. SPACE或y    表示替换当前字符串并移动到下一个匹配串
    Del或n          表示不替换当前字符串,直接移动到下一个匹配串
    !                 进行全局替换,并要求不再提示
      .                  替换当前字符串,然后退出查找,替换操作
       M-或q    退出查找-替换操作
      ^                 退到上一匹配位置
     C-x r            开始递归编辑 M-C c退出递归编辑

五. 保存和打开文件
C-x C-s :保存文件
C-x C-w:另存文件

六: 多窗口
切分窗口:
C-x 2 : 将屏幕水平切分成2部分
C-x 3 : 将屏幕垂直切分成2部分

切换窗口:
C-x o : 移动到其他窗口

删除窗口:
C-x 0 : 删除当前窗口
C-x 1 : 删除当前窗口外的所有窗口

在当前窗口打开另外一个文件:
C-x C-f    : 在当前窗口打开另外一个文件,文件名在缓冲区中输入。
C-x 4 C-f : 在其他窗口打开另外一个文件,文件名在缓冲区中输入。 

创建新的框架:(即打开另外一个emacs的框架)
C-x 5 2 : 为同一个buffer创建一个新的框架
C-x 5 f : 创建一个新的框架,并且在其中打开一个新的文件
C-x 5 0 : 关闭当前框架

注意,不要用C-x C-c来关闭一个框架,因为这个命令将会关闭所有的框架,而不仅是当前框架,然后退出emacs。

七. 取消命令的执行
C-g : 取消命令的执行
emacs中etags的使用方法:

使用etags *.[ch] 就在当前目录中生成TAGS文件
在emacs中,把光标移动到函数名上 输入M . 就能跳到相应的函数定义处. 第一此使用时, emacs会询问TAGS文件的存放位置 缺省在当前目录下。输入M * 就能返回刚才的函数名处。输入切换到下一个tag上。

很好用。跟在vim下使用tags一样方便
tags的相关命令:
M-. : 
M-* :
M-/ : 自动补齐

emacs还可以实现程序变量 得自动对齐功能。要达到这样的效果

int main() {
int aa;
unsigned int bb;
double cc;
}

选择区域,让后M-x align即可

=========================
常用命令 
                         C-v 向上翻页 
                         C-p 向上一行 
    C-b 向左一个字符                        C-f 向右一个字符 
    M-b 向左一个单词                        M-f 向右一个单词 
    C-a 移到行首                            C-e 移到行尾 
    M-a 移到句首                            M-e 移到句尾 
    M-< 移到文字最开始               M-> 移到文字最末尾 
    Backspace 删除光标前字符                 C-d 删除光标后字符 
    M-Backspace 删除光标前字                 M-d 删除光标后字 
                                   C-k 删除光标到行尾的字符 
                                   M-k 删除光标到句尾的字符 
                        C-n 向下一行 
                        M-v 向下翻页 

    C-u 8 C-f     向右移动 8 个字符,其中 8 和 C-f 都可以换成其它。 
    C-u 8 C-v     向上卷动 8 行(而不是 8 屏)。 
    C-u 8 *        键入 8 个 * 。 

    C-@ 移动光标 C-w     剪切/删除两次光标之间的文字 
    C-@ 移动光标 M-w     复制 
    C-k            删掉一行 
    C-y            yank 粘贴/把删掉的拉回来 
    M-y            把过去删掉的拉回来 

    C-x u 
    C-_    回退,Undo。 
    C-/ 

    C-x C-c        退出 
    C-x C-f     打开文件。 
    C-x C-s     保存文件。 
    C-x C-b        列出缓冲区。 
    C-x b         回到某缓冲区。 
    C-x s        以提示方式存储每一个缓冲区。 
    C-x k        关闭缓冲区 

    C-x C-q        把文件设成只读,再按一遍设回去。 

    C-x f        设置每行字数。比如 C-u 20 C-x f 将每行字数设为 20。 

    C-M-\        缩进一个区域 

    C-s        查找字符串。继续 C-s 搜索下一个;Backspace 搜索上一个;回车结束搜索。 
    C-r 
    C-s C-w        查找当前光标处的字符串 

    M-%        开始查找替换 
    M-x replace-string (可以用M-x repl[空格]s[TAB]键入) 
            字符串替换 

    M-x recover-file 
            恢复自动保存的文件 

    M-x fundamental-mode    撇号(')在此模式下被视为字的分隔符号 
    M-x text-mode        撇号(')在此模式下被视为字的一部分 
            切换到不同模式 
    C-h m        看当前模式的描述 

    M-;        插入注释 
    M+x comment-region: 块注释:
    M+x uncomment-region: 取消块注释

    C-g         停止执行过久的命令;取消数字参数;取消一个不想完成的命令。 

    C-x 1        除去其余窗格,只剩一个。 
    C-x 2        将屏幕平分为两个窗格 
        C-M-v        卷动下方的窗格 
        C-x o        将光标在两个窗格之间切换 
    C-x 4 C-f    在另外一个窗格里打开新文件 

    C-h        帮助 
    C-h c [命令]    得到命令的帮助 
    C-h k [命令]    得到命令的详细帮助 
    C-h a         命令查找 
    C-h i        阅读在线手册 

    Esc !        执行 Shell 命令 
    C-u Esc !    将 shell 指令执行的结果,输出到游标所在的位置。 

    C-x Esc Esc    查找命令历史 

    C-M-p        括号匹配 
    C-M-n        括号匹配 

    在左上角按 C-@ 然后在右下角按下列键,可完成矩形操作 
    C-x r k        剪切一个矩形块 
    C-x r y        粘贴一个矩形块 
    C-x r o        插入一个矩形块 
    C-x r c        清除一个矩形块内的内容(使之变成空白) 

    M-x dired    进入 directory edit 模式 
    C-x d        DITTO 
        dired模式下的操作 
            m 将文件打上标记。 
            d 将文件打上删除标记。 
            u 去除文件的标记。 
            D 立即删除文件。 
            x 删除标有删除标记的文件。 
            ~ 将所有的备份文件打上删除标记,我最喜欢的一个功能。 
            # 将所有的文件名以“#”开头的文件打上删除标记。 
            o 将文件在另外一下窗口打开,回车是在当前窗口打开,C-o是在另外一个窗口打开但是不激活它。 
            ! 或者X对当前的文件的操作,比如要用xpdf打开一个pdf文件,则可以! xpdf在一个文件上即可。 
              但是如果有mark的文件,则命令作用于mark的文件。在dired-x模式下可以猜要执行的命令。 
            X 功能同!。 
            g 如果外部的操作改变了文件,并不能直接反映到dired-mode中, 
              比如在外部删除了一个文件,用这个命令升级一下当前的dired buffer。 
            ^ 到上一层目录 
            + 创建文件夹 

            C copy 
            R rename 
            M chmod 
            G chgrp 
            O chown 
            P print 
            Z compress/uncompress 

            i      将光标所在行的目录内容显示在当前buffer中 
            C-u k 把光标放在子目录的header上按此组合,将会把子目录内容从当前buffer移除 

            * s 给当前所有文件打标记 
            * ! 取消当前所有的标记 
            * / 给当前所有文件夹打标记 
            * * 给当前所有可执行文件打上标记 
            * t 反选(有*的变没,没*的变有) 
    不同模式 
        大纲模式 
            M-x outline-mode 大纲模式 
                C-c C-r    全部折叠 
                C-c C-a    全部展开 
                C-c C-d    把当前主题折叠 
                C-c C-s    把当前主题展开 
                M-m    光标移动到第一个非空字符 


---行号显示设置
在linux里编程的同志们不难会发现emacs是进行编程的理想工具,因为enmacs集成了编译工具,但emacs不显示行号,这给编程者们在调试和找错时造成很大的麻烦。现在我们就把emacs变成windos里DEV 。


目前最流行的方法是用linum.el文件,在网上下载linum.el后将linum.el拷贝到emacs的site-lisp目录下,完成后在用户主目录里新建一个文件,文件名为: .emacs,在.emacs文件里添加如下内容:
(add-to-list 'load-path "/usr/share/emacs/site-lisp")
(require 'linum)
(global-linum-mode t)

其中load-path后面是你的linum.el所放在的目录
保存后再打开emacs进行编辑看看是不是出现了行号?
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Emacs 的正则表达式基本上与其他语言的正则表达式类似,但有些小区别。下面是一些 Emacs 正则表达式的基本语法: 1. 基本字符匹配: - 普通字符:匹配自身 - 反斜线 + 特殊字符:匹配特殊字符,如 \n 匹配换行符 2. 字符类: - [...]:匹配方括号内的任意一个字符,如 [abc] 匹配 a、b、c 中任意一个字符 - [^...]:匹配不在方括号内的任意一个字符,如 [^abc] 匹配除了 a、b、c 外的任意一个字符 - \w:匹配任意一个字母或数字,等价于 [[:alnum:]] - \W:匹配任意一个非字母或数字字符,等价于 [^[:alnum:]] - \s:匹配任意一个空白字符,等价于 [[:space:]] - \S:匹配任意一个非空白字符,等价于 [^[:space:]] - \d:匹配任意一个数字,等价于 [[:digit:]] - \D:匹配任意一个非数字字符,等价于 [^[:digit:]] 3. 重复匹配: - *:匹配前面的表达式零次或多次 - +:匹配前面的表达式一次或多次 - ?:匹配前面的表达式零次或一次 - {n}:匹配前面的表达式恰好 n 次 - {n,}:匹配前面的表达式至少 n 次 - {n,m}:匹配前面的表达式至少 n 次,但不超过 m 次 4. 特殊字符: - ^:匹配行首,如 ^abc 匹配以 abc 开始的行 - $:匹配行尾,如 abc$ 匹配以 abc 结尾的行 - .:匹配任意一个字符,如 a.c 匹配 axc、abc 等 - \|:表示或操作,如 a\|b 匹配 a 或 b 5. 分组: - \(...\):将表达式分组,如 \(ab\)+ 匹配至少一个 ab - \n:引用分组中的第 n 个匹配,如 \(ab\)\(cd\)\1\2 匹配 abcdcdbcd 这是一些基本的 Emacs 正则表达式语法,还有一些高级用法可以参考 Emacs 的文档。 ### 回答2: Emacs是一款功能强大的文本编辑器,它对正则表达式的支持也非常全面和灵活。在Emacs中,我们可以使用正则表达式进行文本搜索、替换和编辑等操作。 Emacs支持基本的正则表达式语法,包括字符类、元字符、量词和分组等。在Emacs中,我们可以使用正则表达式来查找特定的文本模式。例如,如果我们想要找到所有包含一个或多个数字的单词,可以使用正则表达式"\b\w*[0-9]+\w*\b"进行搜索。 在Emacs中,正则表达式还可以用于替换文本。我们可以使用"query-replace-regexp"命令来查找和替换符合特定模式的文本。例如,如果我们想要将所有的日期格式从"YYYY/MM/DD"替换为"DD.MM.YYYY",可以使用正则表达式"\([0-9]+\)/\([0-9]+\)/\([0-9]+\)"和"\3.\2.\1"进行替换。 此外,Emacs还提供了一些特殊的正则表达式操作符。例如,我们可以使用"?="符号来实现正向预查,用"?!"符号来实现负向预查。这些操作符可以帮助我们更精确地匹配文本模式。 总而言之,Emacs对正则表达式的支持非常强大。它不仅支持基本的正则表达式语法,还提供了一些特殊的操作符和命令,使我们能够更灵活地使用正则表达式进行文本编辑。无论是初学者还是高级用户,都能够通过Emacs的正则表达式功能,更有效地处理和编辑文本。 ### 回答3: Emacs是一款强大的文本编辑器,提供了丰富的正则表达式功能。正则表达式在Emacs中被广泛应用于搜索、替换和文本处理等方面。 首先,Emacs支持基本的正则表达式语法,比如使用字符类和字符重复来匹配特定的模式。例如,使用`.`匹配任意单个字符,`*`表示0次或多次重复,`?`表示0次或1次重复等。 此外,Emacs还支持更高级的正则表达式功能,比如使用`\`来转义特殊字符,使用`|`实现逻辑或操作符等。还可以使用捕获组来提取匹配的部分,并在替换中使用反向引用。 在Emacs中,可以使用`C-M-%`命令来执行正则表达式的搜索和替换操作。通过输入待匹配的正则表达式和替换文本,Emacs会在当前文档中查找满足条件的匹配项,并进行相应的替换。在进行替换时,可以选择逐个替换、全部替换或跳过替换等选项。 此外,Emacs还提供一些内置函数来处理正则表达式。通过调用这些函数,可以实现更复杂的正则表达式操作。例如,使用`replace-regexp`函数可以对当前文档中的所有匹配项进行替换,而不需要手动逐个替换。 总之,Emacs提供了丰富的正则表达式功能,可以帮助用户进行高效的文本处理和编辑操作。无论是简单的搜索替换,还是复杂的模式匹配,Emacs都可以满足用户的需求,并提供灵活的操作选项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值