linux emacs 快捷键,emacs 快捷键

键盘宏(Keyboard Macros)

开始定义一个键盘宏                              C-x (

结束键盘宏的定义                                C-x )

执行上一次定义的键盘宏                          C-x e

追加到上一个键盘宏                              C-u C-x (

为上一个键盘宏命名                              M-x name-last-kbd-macro

在缓冲中插入Lisp                                M-x insert-kbd-macro

Tags

Tags 是一个显为人知的功能? 所以我想提一下. 这不是emacs发明的, 而是vi 原本的特异功能. emacs只是发扬光大而已.

假设你有一个目录, 里面是一个程式的原始码, 比如说, tin 的原始码, 放在 ~/tin-1.3beta 下面. 你想看它们.

首先, 叫emacs cd到该目录:  M-x cd

然后,建立tag table. tag table 就是一张对照表, 记录哪个符号(variable/function call) 对映到哪个档案的哪个地方. 有这张表, emacs可以让我们快速的在程式码内游走. 一般这张表是一个档案, 叫作TAGS (大写)

M-! etags *.c

M-! 是执行external shell command的意思. etags就是emacs的建表程式. 你只要告诉它你的source code在那里即可.

vi的话是使用ctags这个程式, 它建出来的档名叫tags (小写). 因为我们介绍emacs, 所以不管它.

然 后, 怎么看程式? 你知道所有的C 程式都是由main()开始, 所以你想找到main()在哪个档案. 这时只要按 M-. 然后emacs会问你tag table在哪里. 因为我们已经cd到该目录, 直接按enter就好了. 然后输入main, emacs就会把你带到main(){ ... }去.

如果 你看到某个程式片断呼叫一个你没看过的函式, 你可以把游标移到该函式的名字上, M-. ENTER 就搞定了.

如果 emacs找错了 (比如有变数和函式同名, emacs跳到变数去), 那你可以用 C-u M-. 找下一个.

在编辑程式码的时候, M-SPC 很有用, 它会把游标附近的空白缩成一个. 在其它地方也有效.

拼写检查

当然只是针对英文。

Ispell

选中一块区域,或者对整个编辑缓冲区进行拼写检查: M-x ispell-buffer RET, 这时会打开ispell缓冲区,C-h可以查看一些拼写检查的帮助信息。

检查单词。在一个单词上执行M-$,会对这个单词进行拼写检查。

单词拼写补全。在一个未拼完的单词后执行ESC TAB(M-TAB)。

只要启用过Ispell, 他就将一直在后台运行。M-x ispell-kill-ispell,可以杀死这个进程。

感觉很好用。

flyspell

一个扩展,可以在编辑的时候直接进行拼写检查,也就是spell-check on the fly。它也是利用Ispell。

M-x flyspell-mode RET

Tips

改变buffer的只读属性

M-x toggle-read-only

在C模式下输入tab

C-q TAB : 对TAB不做解释,直接输

C和C++模式

===指定为C++模式的方法===

一般根据扩展名自动设定,不用指定,不过有时候若希望.h文件是C++模式的(缺省是C模式),在文件第一行(或其末尾)上加入// -*- C++ -*-

===语法高亮===

不是C模式专有,M-x global-font-lock-mode RET 或在.emacs中加入(global-font-lock-mode t)。

===子模式===

auto-state 输入时自动缩进,自动换行

hungry-state Backspace时,自动删除尽可能多的空白和空行

C-c C-t 同时转换(开/关)auto-state和hungry-state子模式

C-c C-a 转换 auto-state 子模式

C-c C-d 转换 hungry-state 子模式

===编辑===

C-c . 设置缩进风格(按TAB键可列出可用的风格,缺省的为gnu,其缩进为2个字符;为8个;k&r为5个,java为4个)

TAB 重新缩进当前行

M-/ 自动补齐(缓冲区中能找得到的串)

M-; 行尾加入注释

C-c C-e 扩展宏

C-c C-c 注释掉整个区域

C-u C-c C-c 取消注释

C-c C-/ 将区域中的每一行结尾都加入一个'/'字符

M-x c-beginning-of-defun

M-x c-end-of-defun  跳到函数的开头或结尾

C-c C-u    跳转到前面的一个#ifdef

C-c C-p

C-c C-n   跳转到宏的开头或结尾

C-M-h   选中整个函数区域

C-c C-\   在所选区域的每一行后面添加" \ "

C-M-p   跳转到}或)匹配的括号

C-M-n   跳转到(或{匹配的括号

M-x auto-insert 自动添加

#ifndef TEST_H

#define TEST_H

#endif

M-@  把光标移动到单词开头,选中整个单词区域

C-M-h  选中当前行

C-u, C-@   回到上次标签的位置

===编译和调试===

M-x compile RET 编译

M-x gdb RET 调试

C-x ` (出错信息中)下一个错误,一个窗口显示错误信息,另一个显示源码的出错位置

C-c C-c 转到出错位置

启动gdb调试器后,光标在源码文件缓冲区中时:

C-x SPC 在当前行设置断点

C-x C-a C-s step

C-x C-a C-n next

C-x C-a C-t tbreak

C-x C-a C-r continue

Dired模式

常用命令:

m : mark

u : unmark

d : mark delete

D : 立即删除

x : 执行删除

g : refresh

C : copy

R : move

+ : 创建目录

Hideshow minor mode

在时可以隐藏函数的实现。M-x hs-minor-mode

(setq hs-minor-mode-prefix [(contrl o)]) 可以改变复杂的命令前缀.

用法:

`C-c @ C-h' : Hide the current block (`hs-hide-block').

`C-c @ C-s' : Show the current block (`hs-show-block').

`C-c @ C-c' : Either hide or show the current block (`hs-toggle-hiding')

`C-c @ C-M-h' : Hide all top-level blocks (`hs-hide-all').

`C-c @ C-M-s' : Show everything in the buffer (`hs-show-all').

十六进制模式

查看文本的十六进制编码

M-x hexl-mode

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值