使用emacs编写C语言教程
如何使用emacs编写c语言程序,并编译运行
vi和emacs被分别被称为编辑器之神和神之编辑器。vi的入门精通都很难,emacs入门容易,精通难;vi使用起来不停地切换模式,而emacs则不停地ctrl,meta等组合键。因此,高德纳大师说操作Emacs,就像弹奏管风琴。
vi是有模式的,因此他很少使用组合键,编辑起来确实要高效,而我厌烦不停的模式切换。选择了emacs。很巧,在国外,几乎所有的大师都是使用emacs的,James Gosling们(Java语言设计者),Donald Knuth们(),Jamie Zawinski们,Eric Benson们。我觉得真正的工程师用Emacs。emacs是那种能让你用上100年的编辑器。
接下来介绍如何使用emacs来编写,编译,运行c程序。(先声明下,这是写给初学者看的。):
1.进入emacs 后,C-x,C-f (意思是先按ctrl+x再接着按ctrl+f)找到文件或新建文件
然后编写程序,如hello.c
2.保存所编写的程序,命令是C-x,C-s,(先按ctrl+x,再按ctrl+s)
3.编译程序。通过命令M-x (alt+x)shell或M-x eshell进行shell模式,然后使用gcc -Wall -o hehe hehe.c进行编译,如果没有安装gcc,请先安装gcc
5.切换回编辑区: c-x b 'buffername‘可以切换到某个buffer,如要切换回刚才那个hehe.c编辑区,输入c-x b "buffername"(例如先按ctrl+x 再输入b 再输入hehe.c)。有木有发现,emacs比vi好用多了。
二、Emacs按键
Vim 把控制和编辑分成了两个模式,单独操作,互不影响。而Emacs是同时进行编辑和控制,只不过控制命令需要使用控制键。
Emacs的控制键就三个Control,Shift和 Meta,Control 和 Shift 键盘上都有,Meta 在美式键盘中就是Alt,在苹果键盘上是那个很花的四个圈的键,如果键盘上没有Alt (这个要某些欧洲人才会遇到)可以使用Esc 代替,另外Esc 不想Alt 通常当组合键用,它要单独按一下,再按另外的。
以后控制命令就这样表示:
C-f Ctrl+f
C-M-f Ctrl+Alt+f
C-_ Ctrl+Shift+-
到此这篇关于使用emacs编写C语言教程的文章就介绍到这了,更多相关emasc编写C语言内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
如何利用Emacs来调试C++程序
俗话说,Emacs是神的编辑器,而Vim是编辑器之神.高手程序员都是用这两样神器进行开发.本人觉得,Emacs之所以厉害,是因为许多在其他编辑器下必须用鼠标点选很多步的操作,在Emacs下都可以通过键盘来完成.大大地节省了你在显示器上找按钮的时间.Emacs在Linux上运行感觉比windows流畅些,用Emacs编辑程序时,手基本不用离开键盘,就可以完成所有的工作.那么今天就让我们看看如何利用Emacs来调试C++程序. 一.安装Emacs和GCC 下载地址:Emacs:http://www.
-
Windows上配置Emacs来开发Python及用Python扩展Emacs
Windows下配置Emacs来开发Python 去年在网上偶然的一个机会知道了Emacs的存在,在周围前辈们都在夸赞Sublime好用的时候,喜欢跟大众唱反调的我,突然觉得如果能用Emacs来编代码,也许是个很牛的技能. 但是在看了一次Tutorial后,就因为复杂的快捷键和不同于一般编辑器的操作方式放弃了这个想法. 今年开始工作以后,公司还没有给我发配项目,让我有时间学了些Python入门.在寻找合适的编辑器的时候,搁置脑后许久的Emacs突然被揪了出来. 重新开始打开教程,耐着性子看完,并
-
将Emacs打造成强大的Python代码编辑工具
基本配置 Emacs本身提供了python-mode,输入M-x python-mode,就可以进入python模式.相应地,会在菜单栏出现Python菜单.当然,一般来讲,如果是.py文件打开的话,也会自动进入该模式. 不过,默认的python模式功能上面用起来还是有点弱,而且许多地方做的并不好,最好下载第三方的python模式.python-mode是一个开源项目,可以在https://launchpad.net/python-mode进行下载. 1.安装 1
-
使用emacs编写C语言教程
如何使用emacs编写c语言程序,并编译运行 vi和emacs被分别被称为编辑器之神和神之编辑器.vi的入门精通都很难,emacs入门容易,精通难:vi使用起来不停地切换模式,而emacs则不停地ctrl,meta等组合键.因此,高德纳大师说操作Emacs,就像弹奏管风琴. vi是有模式的,因此他很少使用组合键,编辑起来确实要高效,而我厌烦不停的模式切换.选择了emacs.很巧,在国外,几乎所有的大师都是使用emacs的,James Gosling们(Java语言设计者),Donald Knut
-
详解Dev C++使用教程(使用Dev C++编写C语言程序)
前面我们给出了一段完整的C语言代码,就是在显示器上输出"C语言中文网",如下所示: #include <stdio.h> int main() { puts("C语言中文网"); return 0; } 本节我们就来看看如何通过 Dev C++ 来运行这段代码. Dev C++ 支持单个源文件的编译,如果你的程序只有一个源文件(初学者基本都是在单个源文件下编写代码),那么不用创建项目,直接运行就可以:如果有多个源文件,才需要创建项目. 1) 新建源文件
-
VS Code 中安装运行、编写C语言程序的详细教程
目录 1.下载 安装VS Code 2.安装VS code中2个插件 3.下载mingb64 4.配置系统的环境变量 5.C语言配置 6.编写一个测试程序 1.下载 安装VS Code 去官网下载:https://code.visualstudio.com/Download 直接下载,安装即可. 2.安装VS code中2个插件 打开软件运行,在扩展商店中分别搜索安装 C/C++ 和 code runner 插件 3.下载mingb64 官网下载 https://sourceforge.net/
-
Android开发中用Kotlin编写LiveData组件教程
目录 1.简单使用 2.map和switchMap LiveData是Jetpack提供的一种响应式编程组件,它可以包含任何类型的数据,并在数据发生变化的时候通知给观察者.也就是说,我们可以将数据使用LiveData来包装,然后在Activity中去观察它,就可以主动将数据变化通知给Activity了. 1.简单使用 class MainViewModel(countReserved:Int) : ViewModel() { /*当外部调用counter变量时,实际上获得的就是_counter的
-
如何编写Go语言中间件的实例教程
引言 web开发的背景下,"中间件"通常意思是"包装原始应用并添加一些额外的功能的应用的一部分".这个概念似乎总是不被人理解,但是我认为中间件非常棒. 首先,一个好的中间件有一个责任就是可插拔并且自足.这就意味着你可以在接口级别嵌入你的中间件他就能直接运行.它不会影响你编码方式,不是框架,仅仅是你请求处理里面的一层而已.完全没必要重写你的代码,如果你想使用中间件的一个功能,你就帮他插入到那里,如果不想使用了,就可以直接移除. 纵观Go语言,中间件是非常普遍的,即使在
-
Android远程服务编写和调用教程
网上汗牛充栋的文章都是介绍Android远程服务的,一个个将Binder机制.AIDL讲得头头是道,然而没有几个人能够给出清晰的范例说明如何用最快的方法学会编写和调用一个Android远程服务.若你仅仅是想如何编写或者调用Android的远程服务,而懒得去理解Binder机制是如何运行的,那么本篇文章正好适合你.毕竟现在人人都会开车,但没有几个人明白发动机到底是如何运作的. 预备知识 读者应该有基本的java知识,和Android简单app的开发经验. 环境 代码运行环境: 1.ADT2014版
-
ubuntu12.04使用c编写php扩展模块教程分享
系统是ubuntu 12.04,已经安装好了apache和php,php的版本是5.3.10. 以下操作如果碰到权限方面的问题,建议切换成root操作. 1.下载源码 签出php 5.3.10的源代码 复制代码 代码如下: $ svn checkout https://svn.php.net/repository/php/php-src/branches/PHP_5_3_10/ Tips:如果没有这个命令,需要先安装svn,在ubuntu下直接使用apt-get安装就OK了: 复制代码 代码如下
-
编写C语言程序进行进制转换的问题实例
题目 题目描述: 将M进制的数X转换为N进制的数输出. 输入: 输入的第一行包括两个整数:M和N(2<=M,N<=36). 下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出. 输出: 输出X的N进制表示的数. 样例输入: 16 10 F 样例输出: 15 提示: 输入时字母部分为大写,输出时为小写,并且有大数据. 思路 大整数乘法
-
Django 多语言教程的实现(i18n)
最近公司准备扩张海外业务,所以要给 Django 系统添加 国际化与本土化 支持.国际化一般简称 i18n ,代表 Internationalization 中 i 和 n 有 18 个字母:本地化简称 L10n ,表示 Localization 中 l 和 n 中有 10 个字母.有趣的一点是,一般会用小写的 i 和大写的 L 防止混淆. 简单来说:i18n 是为国际化搭建框架,L10n 是针对不同地区的适配.举个简单的例子: i18n: datetime.now().strftime('%Y
-
Spring Boot编写拦截器教程实例解析
创建一个类并使其实现接口HandlerInterceptor 接口提供了一个请求的三个周期的拦截方法 在controller之前,返回true则放行,false反之,handler包含处理请求的controller类以及其方法 boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) 在controller接受请求之后,contorller渲染视图之前,如果发生异常就不执
随机推荐
- linux下部署kodexplorer的方法
- JS原型与原型链的深入理解
- ASP.NET 2.0写无限级下拉菜单
- Codeigniter(CI)框架分页函数及相关知识
- 解决mysql输入密码闪退的问题
- 基于header的一些常用指令详解
- node.js中的fs.mkdirSync方法使用说明
- 如何高效使用Python字典的方法详解
- Powershell创建简洁的HTML报告例子
- jQuery实现按键盘方向键翻页特效
- C语言实现计算树的深度的方法
- .NET实现魔方游戏(一)之任意阶魔方的表示
- ASP.NET编程中的十大技巧
- 实现 win2003 下 mysql 数据库每天自动备份
- Android webview转PDF的方法示例
- vue.js+element-ui动态配置菜单的实例
- 建议收藏:好用的 Unix/Linux 命令技巧
- 通过java生成读取二维码详解
- 通过实例学习Either 树和模式匹配
- java springmvc 注册中央调度器代码解析