emacsc语言
Ⅰ emacs c语言模式问题
emacs的cc-mode默认tab键确实是没法用的。
解决方法,可以看看style设置能不能满足你的需求。至于怎么让tab起作用,个人没研究过,不太懂。我emacs基本就用个org。
可以去看看customize。emacs里的东西,完善的mode都提供customize设置,cc-mode的customize,我之前看过点,能设置的有不少,但是没注意有没有tab键的设置。如果里面没有,就是说插件没有提供默认设置,想改的话就会比较麻烦。
希望对你有帮助。
Ⅱ 如何使用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语言程序,并编译运行之
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找到文件或新建文件
然后编写程序,如hello.c
2.保存所编写的程序,命令是C-x,C-s,
3.编译程序。通过命令M-x shell或M-x eshell进行shell模式,然后使用gcc -Wall -o hello hello.c进行编译,如果没有安装gcc,请先安装gcc。
4.运行:./hello 即可运行编译好的可执行程序,如下图:
5.切换回编辑区: c-x b ’buffername‘可以切换到某个buffer,如要切换回刚才那个hello.c编辑区,输入c-x b "buffername"。有木有发现,emacs比vi好用多了。
(完)
望采纳,谢谢
Ⅳ 如何将emacs配置成c/c++开放环境
文章最后面,我配了,原文的地址。你可以去看。图文版的。
将Emacs配置成一个C/C++的IDE编程环境
1.写在前面
linux下的编程,业界多数人士并不喜欢,尤其是习惯了在windows下编程的程序员,认为windows的IDE各种好,而linux下没有一个好 的IDE ,估计很多人就是卡在这个门槛上了(PS:听说Microsoft和google这种级别的公司的顶级程序员也都不用IDE的,用的是VIM和 EMACS)。虽说那些linux牛人也都不用IDE的并且我也很想装成一个牛人,但经过几番折腾,本人还是比较习惯IDE,因为本人也是在 windows的IDE下开始的程序生涯。“工欲善其事,必先利其器”,我想如果有个好用的IDE,那些linux牛人应该也不排斥吧。
在linux编程,首先要选择开发工具,自然目光就投向了网上都说的两大神器——VIM和EMACS,虽说他们只是编辑器,但由于超强的可定制度,已成为 广大linux工作者的首选。所以今天我就写点本人使用Emacs和将Emacs配置成一个简易IDE的过程和心得。不过说起配置IDE,CSDN上前辈 吴垠有篇将VIM配置成IDE的文章,本人刚在linux编程时曾深深学习过,甚为折服。顺便提一句,我曾经也是用VIM写程序的,所以我的VIM看起来 也是一个简单的IDE,不过后面转向使用Emacs了(声明:本人无意加入VIM和Emacs之争,选择哪一个纯属个人习惯和喜好而已)。
网上很对人都说Emacs门槛比较高,入门难。其实也没有说的那么夸张,可能是比VIM难一点,但是也是很容易上手的,只是好用不好用的问题。好了,闲话少说,下面进入今天的主题:打造Emacs。
本文对Emacs的说明有:
Emacs的基本操作和组合键
启动时的边框和大小及在屏幕中的位置
Emacs的基本常规设定
Emacs的一些开发环境的设定(C/C++、script等等)
Emacs的一些扩展配置(如改变光标的形状等)
附:本文不会解释lisp编程。
我的工作环境是ubuntu11.04,emacs是直接用sudo apt-get install emacs安装的,版本是GNU Emacs 23.3.1。下面的例子基本都是在C语言做的演示。
下面对一些文中可能用到的名称说明一下:
文中的路径都是 ~/ 目录,文中的一些路径如,~/_emacs,~/work,之类的如果没有就自己建一个,.emacs文件在~/.emacs。
先来两张图,我的emacs界面,o(∩_∩)o
图一:
对照上图的编号:
1:简洁明了的buffer浏览和操作,以及一些文件浏览器,tag浏览
2:高亮代码编辑区
3:自动补全
4:更好的文件浏览器
图2:(debug的截图)
对照上图:
1:图形化调试选项
2:变量查看区
3:源码查看区
4:栈查看区
5:断点查看区
2.Emacs的基本操作和组合键
1.Emacs的模式键定义
四个模式键:C------àctrl;M------àalt;s------àsuper(win);S----àshift
比如:C-x:表示ctrl+x(表示先按下ctrl键,然后按下x键
C-x c C-c:表示按下ctrl,然后按下x键松开后再按下c键
C-x k:表示按下ctrl,同时按下x和k键
2.Emacs的基本组合键
C-x C-c:退出Emacs
C-x C-s:保存当前buffer
C-x C-f:打开和新建文件
C-n:光标移到下一行
C-p:光标移到上一行
C-k:删除一行
M-x:执行命令
其他的很多组合键我都进行了重新绑定,在下文中将有描述。
3.启动时的大小和屏幕的中的位置
如图语句表示在启动后在屏幕的x=20,y=0处,高度为35宽度为100的Emacs。
说明:关于修改Emacs的启动大小的问题,网上最多的描述是:有两种方法①修该~/.Xdefault文件,然后运行xrdb ~/.Xdefault;②在~/.emacs中进行上图所示修改;然后网上的说明是第一种方法更好。故在此进行一个说明,根据笔者的使用经验,个人更喜 欢用第2种方法,因为当用第一种方法后,每次修改了emacs的配置文件,都需要重新运行xrdb ~/.Xdefault,个人感觉比较烦,还有一些其他问题,这里就不例举了,所以我选择的是在.emacs配置文件中修改的方法。
4.Emacs的基本常规设定
按照一般的习惯,.emacs文件中一般不会放太多的设置信息,一般放一些emacs的搜索路径的信息。这里我的emacs的配置文件,即lisp脚本都放在~/_emacs的文件夹中。
因此首先添加一个emacs的搜索路径:
然后加载我们对emacs的设置脚本,在.emacs中添加如下语句:
图中的几个脚本文件将在下面分别解释器用途。
①对emacs的基本设置,即base.el文件(在~/_emacs中),base.el文件中的部分内容如下:
设置默认工作目录,即启动emacs后所在的目录,我这里设的是主目录下的work文件夹,我几乎所有的代码都是在该目录下完成的,在base.el中加上下面一句:
上面就是一些基本和重要的配置,我没有多加说明,因为图中几乎每行语句都有注释,所以大家应该能看懂的。O(∩_∩)o
5.C/C++的配置
下面讲关于C/C++的配置,因为笔者在Linux下主要还是进行C/C++的开发。我的C/C++的配置主要是cycode.el文件中。
①开发时很重要的一步就是调试,因此,好的调试环境很重要,所以首先就是图形化调试界面:
上面加载了两个lisp的脚本文件,这两个文件是直接在网上下的图形化调试的文件。
②为了能高效的浏览和编辑代码,需要安装cedet插件(可以到官网下载),下载cedet后,在~/install目录中解压,然后看解压出来的 文件夹中的INSTALL文件,然后根据里面的描述安装cedet即可(注:我所有的需要安装的插件都在~/install目录中,下面将不再重复说 明),有一点需要注意就是安装完成后不能删除安装后的文件,也就是需要保留解压后的文件夹。
安装完成后,即用下面的语句将我们需要的一些东西包含进来:
然后现在就可进行有关cedet的设置,这里只是用一个代码折叠和展开为例:
③为了使使用更方便,即对上面cedet插件的一个补充,需要在安装一个ecb插件。下载ecb后放到intall目录中,解压即可(仅仅是解压),然后加上下面两句:
④自动补全功能,为了实现自动补全功能,需要安装两个插件,这两个插件是相辅相成的——auto-complete和yasnippet。先安装 auto-complete,下载后放到install目录中解压,然后进入解压后的目录,然后输入make命令即可;下面安装yasnippet,下载 后放到install目录,然后解压即可;下面是几句关于这两个插件的配置:
⑤装完插件后,下面是一些关于综合的配置:
下面是两种补全命令:
6.键绑定
到这里,已经基本完成了C/C++开发环境的搭建,为了使自己用emacs更方便,需要一些建绑定,即自己定义一些组合键,这是emacs配置中必不可少的一步,我的自定义组合键都放在cykbd.el文件中,下面是部分我的键绑定代码:
根据一般的习用f1来表示帮助,即man命令:
这部分是对f1-f12的一些绑定:
这里的f6为调试,即用gdb调试,f7是调用make来对原文件进行编译。
将f8为对buffer的一些常用操作:
用f12查看函数定义:
对ecb的键绑定:
对窗口的一些键绑定:
7.Emacs的扩展配置
上面已经完成配置emacs的基本工作,换句话说,到目前为止我们已经可以用emacs进行开发了,但是为了进一步的是emacs更符合我的习惯,又加了一个cyexpand.el这个配置文件,是emacs的功能更强大,cyexpand.el的部分设置为:
Emacs主题的设置:
将光标改成一个竖线:
8.总结
到此为止,已经将emacs打造成了开发c/C++的简易IDE,由于笔者本身能力所限,文中的不足之处欢迎大家批评指正。我会将我整套配置文件和 需要下载的插件都打包上传,详细的设置和编码,大家可以下载后在使用过程中体会和深入,大家需要看的文件只有_emacs目录下的base.el、 cycode.el、cykbd.el、cyexpand.el四个文件,其他的脚本文件都是笔者从各种地方收集过来的大牛写的各种配置。我的配置文件下载连接是:
原文地址:
http://www.oschina.net/question/54100_56621
Ⅳ emacs 用什么写的
Emacs 是C语言实现了一个 ELisp(Emacs Lisp) 的解释器,然后大部分的功能是用 ELisp 写的。不过在 Emacs 内部调用的时候一个函数是 C 还是 Elisp 实现的是看不出来的。
Ⅵ 如何在GNU Emacs环境下编译并运行C/C++程序
学习C/C++的朋友有没有想过完完全全的在Linux环境下开发软件!?我想过,可能是因为个人对Windows平台有些偏见,或者说个人不是非常喜欢在Windows下写程序的感觉,总觉得有那么一层膜隔阂着我们,不像Linux,可以做强大的服务器,在终端下只需要使用简简单单的命令便能完成相当复杂的事情,是不是感觉很高深!?还有很多很多开源项目,Emacs也算一个吧!!!
呵呵,谈到在Linux下编程,我们不得不提这两款编辑器:vi/vim和Emacs(确切的说Emacs的功能已经远远超出了编辑器,使用它我们可能收发邮件,玩游戏,排版等等)。Emacs的强大不得不让我们对设计出该编辑器的大师们发出崇高的敬意和赞叹,Emacs强大之处不仅仅局限于编辑功能,还提供的许多自定义选项,还有我们可以不需要动鼠标便可完成日常工作(对于大多数人来说这可能不太现实),下面我只是简要的介绍如何使用Emacs编译/运行C/C++程序
Emacs有很多版本,如Gnu Emacs、XEmac等等。而且Emacs在各个平台下均能表现的非常出色,前提是你要熟悉它。
首先,再次说明本人所使用的操作系统是rhel 6.2,已经安装GNU Emacs 23.1.1和gcc version 4.4.6,注意Emacs只是一个编辑器,在我们程序员看来(其实我们也可以将其看作IDE,如果使用的比较熟练的话),最起码对于我这种菜鸟来说,还不能十分熟练的玩转Emacs,它实在是太强大了,以至于有很多知识需要去记忆(不仅仅是快捷键)。
OK,不啰嗦了,下面进入正题:
1.启动Emacs,在终端输入“emacs&”命令后回车(你也可以输入“emacs”命令,不过当你在使用Emacs的时候,当前终端就不为你工作了;并且如果你熟练使用Emacs的话也可以输入“emacs -nw”命令以启动非X视窗下的Emacs),至于后面为什么要加一个“&”符,这是Linux里面的基本知识,加上“&”符后会在当前终端下产生一个子进程以运行Emacs而不会对当前终端的工作造成任何影响,这里我们键入“emacs –nw”命令
2.打开/新建文件,进入Emacs界面后,键“C-x C-f”以打开/创建一个新的文件(如图2所示),建议以C/C++语言里所规定的扩展名来指定创建的文件的扩展名,虽然在Linux下面我们不是十分强调文件的扩展名,但是如果你选择正当的扩展名的话,将有助于高亮代码,并且Emacs会根据我们创建的文件的扩展名以进行不同语言(要知道,Emacs不只是为了C/C++程序员设计的)编码风格的缩进;
3.编辑文件,键“C-x C-s”存盘,本人测试的代码如下:
#include <iostream>
int main( ) {
std::cout << "Hello, Emacs!!!"
<< std::endl;
}
Ⅶ C语言在emacs中 写了一段代码 怎么保存 保存在哪里去了 怎么新建文件,
在终端下
输入
vi a.c
写入
#include <stdio.h>
int
main()
{
printf("Hello World\n");
}
再按Esc键
再按Shift+ZZ保存
再输入
gcc a.c
再
./a.out
就可以了
可以看看
man gcc
Ⅷ emacs怎么编写c程序
emacs 的 compile 命令是调用 make 来编译的,而make是需要makefile的,你只有.c,没有写makefile,所以无法编译。
关于 make/makefile 是另外一个很大的课题,这里不多说。
写好代码后, C-x C-s 保存,然后自己打开一个shell, 如bash,然后用
gcc myc.c -o myc
来编译,然后用 ./myc 来执行即可。
如果想在 emacs 中启动shell,也可以用 M-x shell 命令,然后重复上面的编译和执行命令。
Ⅸ 怎么使用emacs编写c语言程序,并编译运行之
学习C/C++的朋友有没有想过完完全全的在Linux环境下开发软件!?我想过,可能是因为个人对Windows平台有些偏见,或者说个人不是非常喜欢
在Windows下写程序的感觉,总觉得有那么一层膜隔阂着我们,不像Linux,可以做强大的服务器,在终端下只需要使用简简单单的命令便能完成相当复
杂的事情,是不是感觉很高深!?还有很多很多开源项目,Emacs也算一个吧!!!
呵呵,谈到在Linux下编程,我们不得不提这两款编辑器:vi/vim和Emacs(确切的说Emacs的功能已经远远超出了编辑器,使用它我们可能收
发邮件,玩游戏,排版等等)。Emacs的强大不得不让我们对设计出该编辑器的大师们发出崇高的敬意和赞叹,Emacs强大之处不仅仅局限于编辑功能,还
提供的许多自定义选项,还有我们可以不需要动鼠标便可完成日常工作(对于大多数人来说这可能不太现实),下面我只是简要的介绍如何使用Emacs编译/运
行C/C++程序,文中相关命令可以参考本人其他博文。
Emacs有很多版本,如Gnu Emacs、XEmac等等。而且Emacs在各个平台下均能表现的非常出色,前提是你要熟悉它。
首先,再次说明本人所使用的操作系统是rhel 6.2,已经安装GNU Emacs 23.1.1和gcc version
4.4.6,注意Emacs只是一个编辑器,在我们程序员看来(其实我们也可以将其看作IDE,如果使用的比较熟练的话),最起码对于我这种菜鸟来说,还
不能十分熟练的玩转Emacs,它实在是太强大了,以至于有很多知识需要去记忆(不仅仅是快捷键)。
OK,不啰嗦了,下面进入正题:
1.启动Emacs,在终端输入“emacs&”命令后回车(你也可以输入“emacs”命令,不过当你在使用Emacs的时候,当前终端
就不为你工作了;并且如果你熟练使用Emacs的话也可以输入“emacs
-nw”命令以启动非X视窗下的Emacs),至于后面为什么要加一个“&”符,这是Linux里面的基本知识,加上“&”符后会在当前
终端下产生一个子进程以运行Emacs而不会对当前终端的工作造成任何影响,这里我们键入“emacs –nw”命令,启动界面如图1所示;
图1 键入“emacs –nw”命令后,Emacs的启动界面
2.打开/新建文件,进入Emacs界面后,键“C-x
C-f”以打开/创建一个新的文件(如图2所示),建议以C/C++语言里所规定的扩展名来指定创建的文件的扩展名,虽然在Linux下面我们不是十分强
调文件的扩展名,但是如果你选择正当的扩展名的话,将有助于高亮代码,并且Emacs会根据我们创建的文件的扩展名以进行不同语言(要知道,Emacs不
只是为了C/C++程序员设计的)编码风格的缩进;
图2 键“C-x C-f”,输入文件名以打开/创建一个新的文件
3.编辑文件,键“C-x C-s”存盘,本人测试的代码如下:
[cpp] view plain
#include
int main( ) {
std::cout << "Hello, Emacs!!!"
<< std::endl;
}
4.编译文件,这里我介绍两种方法。
法1:常规方法,参考Learning Gnu
Emacs,我们可以这样做:键“M-x”,此时在minibuffer中会显示“M-x”字样,输入“compile”命令后默认会显示
“Compile command: make -k”字样,此时把“make -k”删除后,运行相关编译命令(如现在我们应该键入“g++
test.cpp –o test”),如图3所示;
图3 minibuffer下键入“g++ test.cpp –o test”命令以编译源文件
法2:我想大多C/C++程序员会选择第二种编译方法,同样的,键“M-x”,输入“eshell”或“shell”命令,进入“eshell”或
“shell”缓冲区,这里我们键入的命令是“eshell”,然后同样的键入“g++ test.cpp –o
test”命令以编译源文件,如图4所示;
图4 eshell下键入“g++test.cpp –o test”命令以编译源文件
5.运行编译后的可执行文件,同样的按照第4步中的打开eshell缓冲区,输入相关命令即可执行编译后文件,这里我们应该输入“./test”命令,如图5所示。
图5 输入“./test”命令以执行编译后文件
注意:当我们进入其他缓冲区后,再想切换到编辑过的缓冲区可以键入“C-b
buffername”以切换到目的缓冲区。注意编辑(修改)后的缓冲区的名字格式为“*buffername*”,如上面我们切换到
“test.cpp”缓冲区应该buffername应为“test.cpp”,在我们打开“eshell”缓冲区之前我们已将其保存过了,切换到
“test.cpp”后再想切换到之前打开的“eshell”缓冲区的buffername应为“*eshell*”,这个缓冲区我们修改过了;