Tag: emacs

在Emacs中为每个目录设置c-basic-offset

我有一个使用2空格缩进的C项目(在/ projects / c中 )和一个带有4空格缩进的C ++项目(在/ projects / cpp中 )。 我无法弄清楚如何让Emacs自动做正确的间距,具体取决于我打开文件的位置。 我可以告诉它使用c++-mode (4个空格)作为.cpp文件,但.h文件(在cpp项目中)仍默认为c-mode (2个空格)。 有什么东西可以放在我的.emacs文件中,以缩进.h文件不同的空格数或更改模式,具体取决于目录?

Emacs在C中的宏后缩进

#define INIT_MACRO create(); some(); enviroment(); … void function(){ INIT_MACRO extra_indented(); normal_indented(); } 当请求自动缩进时,如何使emacs正确处理上述情况? 编辑我看到的唯一解决方案是告诉emacs处理仅包含大写字母,下划线和空格的行,就好像他们最后有分号一样……但我该怎么做?

C模式下的Emacs注释区域

在GNU Emacs中,有一种很好的方法可以在C模式下更改comment-region命令 /* This is a comment which extends */ /* over more than one line in C. */ 至 /* This is a comment which extends over more than one line in C. */ ? 我试过了 (setq comment-multi-line t) 但这没有用。 在Emacs手册中有一个关于多行注释的部分 ,但它没有提到任何内容。

寻找不平衡的牙箍和括号

gcc 4.6.0 GNU Emacs 23.2.1 我有一些c代码,在某些时候我必须犯错误。 现在我留下了不平衡的curl的支架或括号。 我有大约2000行代码,我只是想知道有没有找到它们的技术? Emacs有一些很好的function,所以我只是想知道它是否有任何方法可以扫描代码并告诉我它们在哪里。 目前我有一个与此相关的编译错误。 非常感谢任何建议,

用于C代码的多级嵌套的Emacs缩进

我是emacs的新手(主要是使用vim和eclipse / netbeans等)。我正在使用C级代码的多级嵌套,并在emacs中编写一个示例代码来测试它如何缩进代码,其中嵌套太深(不是现实生活中的代码)。 int foo() { if (something) { if (anotherthing) { if (something_else) { if (oh_yes) { if (ah_now_i_got_it) { printf(“Yes!!!\n”); } } } } } } 这看起来就像我输入emacs并保存它一样。 但是在另一个文本编辑器上打开它显示实际保存的文本是这样的: int foo() { if (something) { if (anotherthing) { if (something_else) { if (oh_yes) { if (ah_now_i_got_it) { printf(“Yes!!!\n”); } } } } } } […]

语义,cedet如何强制解析源文件

我一直在我的emacs c / c ++开发设置中尝试cedet和semantic,除了一个小细节之外我对它非常满意。 我使用ede-cpp-root-project来创建一个项目,并给出我的项目的根目录以及包含文件所在的目录,如下所示: (ede-cpp-root-project “My Project” :name “My Project” :file “/path/to/rootdir/AFILE” :include-path ‘( “/include2” “/include1” ) ) 这使我可以使用semantic-ia-fast-jump轻松跳转到函数的声明,但它不能让我了解这些函数的定义。 因此它似乎只处理头文件并完全忽略源文件。 即使我继续声明该函数并触发semantic-analyze-proto-impl-toggle它也会告诉我没有找到合适的实现。 如果我手动打开函数实现所在的源文件,那么它只能通过语义进行解析,并且所有上述函数都能正常工作。 所以我的问题是,如果没有手动打开项目根目录下包含的所有源文件,或者通过:spp-files参数手动将它们包含在ede-cpp-root-project ,还有其他任何方法可以强制解析所有源文件一个目录? 谢谢!

emacs:是否有语义跳转到声明(使用semantic.el)?

假设我正在编辑一个包含C代码的缓冲区。 我已经开始使用semantic-load-enable-code-helpers 语义处理。 我有点放在函数的名称上。 如果我然后调用senator-jump我可以跳转到该模块中首次声明fn的地方。 如果该模块中有extern声明,则转到该extern语句。 有时? 但有时它不起作用。 还有semantic-ia-fast-jump ,它也跳转到第一个声明。 我不确定这个fn与senator-jump不同。 但是,对于本地缓冲区中定义的函数,这个实际上始终有效。 如果它想要跳转到的function怎么样呢? 如果该定义位于单独的模块中,是否可以使用参数来跳转到fn的定义? EDE不应该做这样的事吗? 谢谢。

使用C编程时出现Flymake配置错误

当试图在Emacs中运行Mx Flymake-Mode时,我得到: Flymake: Configuration error has occured while running (make -s -C ./CHK_SOURCES=helloworld_flymake.c SYNTAX_CHECK_MODE=1 check-syntax). Flymake will be switched OFF 我在一个名为helloworld.c的缓冲区中调用该命令: #include int main(void) { printf(“Hello World”); return 0; } 并在同一目录中有一个名为Makefile的文件: helloworld: helloworld.c gcc helloworld.c -o helloworld 我在Ubuntu 9.04下运行GNU Emacs 23.0.91.1。 提前致谢!

Emacs C ++,打开相应的头文件

我是emacs的新手,我很想知道 如果有一个快捷方式在标题/源和相应的源/头文件之间切换 如果有像一般emacs参考卡那样的参考卡 谢谢 !

使用gcc / gdb设置Emacs的初学者指南?

我环顾了GNU emacs材料并没有找到任何有用的东西。 有没有人知道设置emacs的好教程,基本上把它变成IDE? 我正在寻找与gcc / gdb / make等接口…