emacs c/c++ 中使用的命令大杂烩

注释,缩进,光标移动等

键盘操作 键盘操作对应函数名 说明
ESC Ctrl \ indent-region 对光标和标记之间的每行文本进行缩进
ESC ; indent-for-comment 如果没有选中任何文本,则在光标所在行的最后加上:/* */;如果选中了文本,则注释掉选中的文本;如果选中的文本已经是被注释的了,则去掉注释。
ESC j /* */里写注释的时候,换行,并自动缩进到和上一行相同的位置。
ctrl x ; 设置控制缩进的变量comment-column。注:具体的缩进值,由变量comment-column,来决定
ctrl u ctrl space 让光标跳回上一个mark
ESC q 把注释整形
ESC ctrl a beginning-of-defun 移动光标到函数的开头
ESC ctrl e end-of-defun 移动光标到函数的末尾
ESC ctrl h c-mark-function 移动光标到函数的开头,并把mark放到函数的末尾,即把整个函数的内容复制了,在按ctrl y时,粘贴的就是整个函数的内容。

在条件编译块间移动

当读开源的源码时,发现为了应对不同的系统,有很多条件编译在里面,有了以条件编译块为单位的移动,简直是一种极大的恩赐。

键盘操作 键盘操作对应函数名 说明
ctrl c ctrl u c-up-conditonal 当光标在条件编译块中时,把光标移动到当前条件编译块的起始位置
ctrl c ctrl p c-backwark-conditonal 当光在条件编译块的起始行时,把光标移动到上一个条件编译块的起始位置
ctrl c ctrl n c-forward-conditonal 当光在条件编译块的起始行时,把光标移动到当前条件编译块的末尾位置

请看下面的例子,假设...处都有上百行的代码。

#ifdef aaa  //-----①
... //-----④
#else
... //-----
#endif
... //-----②
#ifdef bbb//-----③
... //-----
#else
... //-----
#endif

1,当光标在①的行首时,按ctrl c ctrl n,光标移动到②的行首

2, 当光标在②或者③时,按ctrl c ctrl p,光标移动到①的行首

3,当光标在④时,按ctrl c ctrl u,光标移动到①的行首

选择代码的样式(缩进等)(函数名:c-set-style)

自动换行(ctrl c ctrl a)(c-toggle-auto-state)

当输入【;】,【{】, 【}】会自动换行并缩进

饥饿删除(ctrl c ctrl d)(c-toggle-hungry-state)

当按【backspace】键时,如果光标前有多个空格,或者回车,会把他们全部删除

通过一个函数(c-toggle-auto-hungry-state)设置:既能自动换行,也能饥饿删除

c/c++ 学习互助QQ群:877684253

本人微信:xiaoshitou5854

emacs c/c++ 中使用的命令大杂烩的更多相关文章

  1. linux shell 中的sleep命令

    开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...

  2. 在脚本中使用sudo命令,将密码保存在脚本中,不需要手动输入密码

    在脚本中使用sudo命令,将密码保存在脚本中,不需要手动输入密码. #!/bin/bash echo 'xxx密码xxx'|sudo -S service mysql start echo 'xxx密 ...

  3. 在程序中执行shell命令

    在linux系统下的操作中我们会经常用到shell命令来进行,一开始学习进程的时候对于shell命令也进行了思考,认为shell命令就是一个进程的外壳,经过了后来的学习对于这一点也有了更多的认识. 用 ...

  4. 常见linux命令释义(第九天)—— Bash Shell 的操作环境Shell 中的管道命令一些管道命令

    最近好懒好懒.连写文章都写不好了.于是只能写读一点书,记一点读书笔记了.太懒了,没办法.慢慢恢复自己的状态吧. 管道命令仅会处理strandard output 的内容,对于strandard err ...

  5. 在Emacs 24.4中使用在线字典

    使用Emacs时经常需要查英语字典怎么办?切到浏览器查?太慢.我想到一个高效的解决方案,利用新发布的Emacs 24.4中的Web浏览器eww,在Emacs中集成一个在线字典,查询光标处的字,一键搞定 ...

  6. Linux中的历史命令

    Linux中的历史命令一般保存在用户    /root/.bash_history history 选项 历史命令保存文件夹 选项     -c:清空历史命令     -w :把缓存中的历史命令写入历 ...

  7. emacs: 文本输入中文件目录自动补全

    emacs: 文本输入中文件目录自动补全 // */ // ]]> UP | HOME   emacs: 文本输入中文件目录自动补全 Table of Contents 1 引言 2 补全过程演 ...

  8. Google Chrome浏览器中如何使用命令

    Google Chrome浏览器中如何使用命令 | 浏览:2974 | 更新:2014-02-23 23:12 | 标签:chrome 1 2 3 分步阅读 Google Chrome浏览器有很多的特 ...

  9. QT中QProcess调用命令行的痛苦经历

    在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了 ...

随机推荐

  1. SAP 资产相关日期

    1. Capitalized Date(资本化日期) 可以手工输入资本化日期,或者如果不输入,则通常默认写入First Acquisition Date (资产第一次购置时输入资产价值日). 2.As ...

  2. 微信小程序之文件系统初探

    微信小程序之文件系统初探 1.文件下载 //下载文件 go_download: function() { var content = this; var baseUrl = "http:// ...

  3. Linux相关集合

    本篇概述 Linux xshell6 连接 Hadoop 启动关闭 Linux xshell6 连接相关问题 首先,虚拟机 得先能通成网(具体教程可百度) 然后,进行 本机 ip 的查询(xshell ...

  4. MSSQL 字段分组拼接

    方法1:缺点,不去重,不去空:见表1 with t as( select 'A' parent, 'A1' child union all select 'A', 'A1' union all sel ...

  5. Centos7.6 Apache 虚拟机禁止访问IP,允许访问多域名多个虚拟目录设置

    存放配置文件路径 /etc/httpd/conf.d自定义命名,配置文件后缀格式确保 *.conf注:这是两个配置文件,也是两种方法. # 一个WEB目录# 禁止以IP地址形式访问<Virtua ...

  6. 操作系统|VirtualBox for Mac(虚拟机软件)

    VirtualBox是德国一家软件公司InnoTek所开发的虚拟系统软件,它不仅具有丰富的特色,而且性能也很优异,更是开源的,成为了一个发布在GPL许可之下的自由软件.VirtualBox 可以在 L ...

  7. Linux驱动中的platform总线分析

    copy from :https://blog.csdn.net/fml1997/article/details/77622860 概述 从Linux2.6内核起,引入一套新的驱动管理和注册机制:pl ...

  8. Codeforces Round #597 (Div. 2) F. Daniel and Spring Cleaning 数位dp

    F. Daniel and Spring Cleaning While doing some spring cleaning, Daniel found an old calculator that ...

  9. 记一次hosts配置内容过多引起的故障

    问题环境 系统环境 CentOS release 6.9 (Final) 2.6.32-696.16.1.el6.x86_64 Java 环境 1.8.0_151 Apollo 1.4.0 代码框架 ...

  10. C#数组1

    using System; namespace ConsoleApp3 { class Program { static void Main(string[] args) { , , , , , }; ...