emacs c/c++ 中使用的命令大杂烩
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++ 中使用的命令大杂烩的更多相关文章
- linux shell 中的sleep命令
开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...
- 在脚本中使用sudo命令,将密码保存在脚本中,不需要手动输入密码
在脚本中使用sudo命令,将密码保存在脚本中,不需要手动输入密码. #!/bin/bash echo 'xxx密码xxx'|sudo -S service mysql start echo 'xxx密 ...
- 在程序中执行shell命令
在linux系统下的操作中我们会经常用到shell命令来进行,一开始学习进程的时候对于shell命令也进行了思考,认为shell命令就是一个进程的外壳,经过了后来的学习对于这一点也有了更多的认识. 用 ...
- 常见linux命令释义(第九天)—— Bash Shell 的操作环境Shell 中的管道命令一些管道命令
最近好懒好懒.连写文章都写不好了.于是只能写读一点书,记一点读书笔记了.太懒了,没办法.慢慢恢复自己的状态吧. 管道命令仅会处理strandard output 的内容,对于strandard err ...
- 在Emacs 24.4中使用在线字典
使用Emacs时经常需要查英语字典怎么办?切到浏览器查?太慢.我想到一个高效的解决方案,利用新发布的Emacs 24.4中的Web浏览器eww,在Emacs中集成一个在线字典,查询光标处的字,一键搞定 ...
- Linux中的历史命令
Linux中的历史命令一般保存在用户 /root/.bash_history history 选项 历史命令保存文件夹 选项 -c:清空历史命令 -w :把缓存中的历史命令写入历 ...
- emacs: 文本输入中文件目录自动补全
emacs: 文本输入中文件目录自动补全 // */ // ]]> UP | HOME emacs: 文本输入中文件目录自动补全 Table of Contents 1 引言 2 补全过程演 ...
- Google Chrome浏览器中如何使用命令
Google Chrome浏览器中如何使用命令 | 浏览:2974 | 更新:2014-02-23 23:12 | 标签:chrome 1 2 3 分步阅读 Google Chrome浏览器有很多的特 ...
- QT中QProcess调用命令行的痛苦经历
在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了 ...
随机推荐
- Cesium专栏-裁剪效果(基于3dtiles模型,附源码下载)
Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...
- mysql登陆时出现ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
有4到5天没开mysql,这天晚上打=打开phpstudy,想进去mysql练习练习,结果丢给我这个 ERROR 2013 (HY000): Lost connection to MySQL serv ...
- 检测到无法识别的AP,请升级AP数据库
0x00 事件 原因是公司新增了两个 AP 设备 TL-AP1202i ,似乎是新的 AP 硬件版本比较高,导致 AC 无法识别,控制器 Web 页面给出 检测到无法识别的AP,请升级AP数据库! 的 ...
- linux学习(五)用户与组管理命令,以及用户信息文件解释
目录 (1)/etc/passwd文件 (2)/etc/shadow passwd命令 userdel命令 usermod命令 groupadd @(用户与组管理命令) linux是一个多用户多任务的 ...
- 如果不配https访问权限,可以用 .htaccess 搞定
.htaccess 此文件存放在,网站程序根目录下# 只允许通过域名形式访问 RewriteEngine On RewriteBase / rewritecond %{http_host} !^www ...
- Linux 和 Windows 查看 CUDA 和 cuDNN 版本
目录 Linux 查看 CUDA 版本 查看 cuDNN 版本 Windows 查看 CUDA 版本 查看 cuDNN 版本 References Linux 查看 CUDA 版本 方法一: nvcc ...
- 14.web4
右键查看源代码 先进行URL解码 解码之后可以得到一串 js 代码, 具体逻辑大概就是 var p1 = "67d709b2b"var p2 = "aa648cf6e87 ...
- 2019 SDN上机第7次作业
2019 SDN上机第7 次作业 basic补充`/* -- P4_16 -- */ include <core.p4> include <v1model.p4> const ...
- Codeforces Round #594 (Div. 1) C. Queue in the Train 模拟
C. Queue in the Train There are
- Mysql 免安装教程 百度云网盘有文件和word说明
一 把文件解压到一个目录下 这是解压后的目录 将my.ini文件考进去 双击打开my.ini 找到这两行更改成自己的解压路径保存 右键此电脑属性 找到高级系统设置配置环境变量 新建—>变量值是解 ...