分页: 1 / 1

[问题]用emacs写C

发表于 : 2007-06-22 21:22
Roots
用emacs写C的时候怎么编辑其书写格式,不用默认的那种(自动处理)

发表于 : 2007-06-23 16:33
zhan
这几天网络很差,没有回复你的短信...

可以自己定义个函数设计一下格式,然后 hook 到 c-mode-hook 。

比如

代码: 全选

(defun linux-c-mode ()
  "my c mode define"
  (interactive)
  (c-set-style "K&R")
  (setq c-basic-offset 8)
  (define-key c-mode-map [return] 'newline-and-indent)
  )

(add-hook 'c-mode-hook 'linux-c-mode)
具体可以设置的东西恐怕非常多...

发表于 : 2007-07-07 22:32
Roots

代码: 全选

谢,  (setq c-basic-offset 8) 可以使默认间距为一个tab键,但如果要在关键字下一行与关键字对其如何解决,给个样式:
void main()
{
--------int i,j;

--------for(i=0;i<10;i++)
--------{
----------------j=i;
----------------printf("*********%d\n",j);
--------}
}

发表于 : 2007-07-08 13:53
zhan
上面那个 newline-and-indent 不就是设置的对齐么?

把上面那一段加入,然后写一个 c 文件看看,当你回车的时候就自动对齐了.看看下面的图和你的要求就是一致的啊.

发表于 : 2007-07-08 14:44
Roots
恩,的确可以,谢谢。
不过现在我用emacs有时使得CPU居高不下,不知是不是配置出了问题。

另外一个小要求,满足这个格式:
void see_you(w,tag)
int w;
int tag;
{
------printf("******");
}

发表于 : 2007-07-08 22:48
Roots
另:发现你的emac-c mode 很好看的,可不可以分享一下

发表于 : 2007-07-09 16:38
zhan
cpu 高居不下是 cedet 插件的原因,我没有安装这个插件,具体的 google 一下就可以知道。

我的 c-mode 基本上就是上面写的那些了,那个行号是一个额外的插件。 display-line-number-mode 貌似

它的配置我用了两行
(require 'display-line-number)
(setq display-line-number-format "%4d|")

然后在上面给出的 c-mode 的配置下面加了一行

(add-hook 'c-mode-hook 'display-line-number-mode)

发表于 : 2007-07-09 16:43
zhan
Roots 写了: 另外一个小要求,满足这个格式:
void see_you(w,tag)
int w;
int tag;
{
------printf("******");
}
有任何问题么?

默认就是这个格式的啊....

发表于 : 2007-07-09 23:05
Roots
当( )里没东西是,就不顶格了,真是奇妙

再次感谢~

发表于 : 2007-11-26 15:22
longhong
兄弟,那个显示行数的插件叫什么呀,共享下,也让兄弟用下,谢谢