免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: flw
打印 上一主题 下一主题

有关 Emacs 使用技巧的内容请在这个帖子讨论。 [复制链接]

论坛徽章:
0
751 [报告]
发表于 2008-11-03 16:48 |只看该作者

回复 #749 liuzhengxin 的帖子

I found out the emacs automaticly indents by 2 spaces. but I am used to indenting by 4 spaces.


Put following line into your .emacs , then restart it.
  1. (setq c-basic- offset 4)
复制代码

论坛徽章:
0
752 [报告]
发表于 2008-11-07 02:34 |只看该作者
原帖由 lgfang 于 2008-11-3 00:48 发表


Put following line into your .emacs , then restart it.
(setq c-basic- offset 4)


不用重启emacs,在这行最后 C-x C-e 就行了。

论坛徽章:
0
753 [报告]
发表于 2008-11-07 21:01 |只看该作者
原帖由 emacsnw 于 2008-11-7 02:34 发表


不用重启emacs,在这行最后 C-x C-e 就行了。


下面这个也行
  1. M-: (setq c-basic-offset 4) <ret>
复制代码


但是给新手说的越简单越好

论坛徽章:
0
754 [报告]
发表于 2008-11-09 20:35 |只看该作者
写在 .emacs 可以。如果没有写,则

(setq c-basic-offset 4) 必须在 c 模式的窗口中执行,否则对 c 模式是不起作用的。

论坛徽章:
0
755 [报告]
发表于 2008-12-03 08:56 |只看该作者
我在装cedet-1.0pre4的时候,make通不过,出现这样的问题:
make[1]:Entering directory `/home/yxb/ecb/cedet-1.0pre4/semantic`
Makefile is out of date! It needs to be regenerated by EDE.
If you have not modified Project.ede, you can use touch to update the Makefile time stamp.
make[1]: ***[Makefile] Error 1
make[1]:Leaving directory `/home/yxb/ecb/cedet-1.0pre4/semantic
make: ***[semantic] Error 2
提示说安装semantic错误,要重新用EDE生成Makefile文件。
怎么用EDE生成Makefile文件?(我没有改动过任何文件)
有高手懂得么?
另外一个问题是如何在emacs中集成gdb,或者去哪里可以找到相关的资料
先谢了

论坛徽章:
0
756 [报告]
发表于 2008-12-03 15:42 |只看该作者
原帖由 sharpshootor 于 2008-12-3 08:56 发表
我在装cedet-1.0pre4的时候,make通不过,出现这样的问题:
make[1]:Entering directory `/home/yxb/ecb/cedet-1.0pre4/semantic`
Makefile is out of date! It needs to be regenerated by EDE.
If you hav ...


touch Makefile 试一下。

只要装了 gbd 就行,不用另外配置的。

论坛徽章:
0
757 [报告]
发表于 2008-12-07 07:36 |只看该作者
刚开始用emacs,有几个问题请教一下,谢谢!

1. 如何在Emacs中实现类似vi中“."命令,重复执行上一条编辑命令,"c-x z"连换行都重做,晕

aaa bbb ccc
aaa bbb ddd
aaa bbb eee

修改为

aaa bbb 111
aaa bbb 111
aaa bbb 111

vi下修改完第一个单词,然后把光标移到下一个单词按”."就可以重复修改,请问emacs下有对应的命令吗?


2. vi下可以执行“10,20s/aaa/bbb/g”, 替换10-20行的内容,emacs下如何做呢?


3. vi下dw可以删除单词前的空格,emacs下M-d好像连单词一起删除了,可以实现vi下这个功能吗?否则只能c-u n c-d了

4. 如何在替换的时候把一串字符拷贝到emacs中啊?

论坛徽章:
0
758 [报告]
发表于 2008-12-07 12:22 |只看该作者
>> 1. 如何在Emacs中实现类似vi中“."命令,重复执行上一条编辑命令,"c-x z"连换行都重做,晕

>> aaa bbb ccc
>> aaa bbb ddd
>> aaa bbb eee

>> 修改为

>> aaa bbb 111
>> aaa bbb 111
>> aaa bbb 111

>> vi下修改完第一个单词,然后把光标移到下一个单词按”."就可以重复修改,请问emacs下有对应的命令吗?

把光标放在第一个 c 上,按 ctrl+@ 然后把光标移到最后一个 e 的后面,然后执行 replace-rectangle, 键入 111


>> 2. vi下可以执行“10,20s/aaa/bbb/g”, 替换10-20行的内容,emacs下如何做呢?

选定 10 到 20 行,用 replace-string

>> 3. vi下dw可以删除单词前的空格,emacs下M-d好像连单词一起删除了,可以实现vi下这个功能吗?否则只能c-u n c-d了

alt+\

>> 4. 如何在替换的时候把一串字符拷贝到emacs中啊?

什么意思啊?

论坛徽章:
0
759 [报告]
发表于 2008-12-07 14:18 |只看该作者

回复 #751 emacsnw 的帖子

非常感谢retuor!

。。。把光标放在第一个 c 上,按 ctrl+@ 然后把光标移到最后一个 e 的后面,然后执行 replace-rectangle, 键入 111

如果是
aaa bbb ccc
aaa ddd bbb
eee aaa bbb
修改为
aaa bbb 111
aaa 111 bbb
111 aaa bbb
呢?


>> 2. vi下可以执行“10,20s/aaa/bbb/g”, 替换10-20行的内容,emacs下如何做呢?

。。。选定 10 到 20 行,用 replace-string

请问如何选定,C-@...M-w? 然后使用replace-string?


>> 4. 如何在替换的时候把一串字符拷贝到emacs中啊?

。。。什么意思啊?

是在输入完M-x replace-string后,能不能把粘帖板中的字符串复制到emacs中?谢谢

[ 本帖最后由 APPLE555 于 2008-12-7 15:02 编辑 ]

论坛徽章:
0
760 [报告]
发表于 2008-12-07 22:11 |只看该作者
1. 这个不会了。在 vi 里怎么做的?

2. 先把光标放在第 10 行行首,C+@,然后把光标移动到 20 行行末。此时为选定状态,然后用 replace-string
不过你要确保 transient-mark-mode 是打开的。当这个模式打开时,选定的文本被高亮。

用 goto-line 可以跳到指定行的行首。

也可以自己写个小函数


  1. (defun mark-lines (r)
  2.   (interactive "x")
  3.   (goto-line (car r))
  4.   (push-mark)
  5.   (goto-line (cadr r))
  6.   (end-of-line)
  7.   (setq transient-mark-mode t)
  8.   (setq mark-active t))
复制代码


M+x mark-lines RET (10 20) RET

4. replace-string 时,会提示输入被替代文本和替代文本,此时用 C+Y 粘贴。

[ 本帖最后由 retuor 于 2008-12-7 22:15 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP