免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 543357 | 回复: 858

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

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2004-12-29 15:00 |显示全部楼层

有关 Emacs 使用技巧的内容请在这个帖子讨论。

有关 Emacs 使用技巧的内容请在这个帖子讨论。
鄙人不善于使用 Emacs,不过希望众位精于此道的朋友们各显神通。

论坛徽章:
0
发表于 2004-12-30 10:12 |显示全部楼层

有关 Emacs 使用技巧的内容请在这个帖子讨论。

楼上的问题我不清楚,我做linux下的开发很少,看来cu用emacs的很少,做抛砖引玉之用,我来抛几个砖:

Emacs资源导引
2004年 12月23日
百科全书类:
Manpage of Emacs:http://www.linuxforum.net/books/emacs.html
Emacs 中文化指南:http://zhdotemacs.sourceforge.net/emacs/
Emacs WiKi百科:http://zh.wikipedia.org/wiki/EMACS
Emacs User's Guide:http://www.cbi.pku.edu.cn/chinese/documents/csdoc/emacs/
(其实Emacs自带的教程就是很好的起步指南

论坛:
LinuxForum的Emacs\Vim论坛:http://www.linuxforum.net/forum/postlist.php?Cat=&Board=vim
水木清华的Emacs论坛:http://www.smth.org/bbsdoc.php?board=Emacs

个人主页:
王垠的个人主页:http://learn.tsinghua.edu.cn/homepage/2001315450/emacs.html

八卦:
Emacs是什么的简称?(又是一个黑客幽默
                     E. M. A. C. S.
                Emacs Makes A Computer Slow
               Escape Meta Alt Control Shift
               Emacs Makers Are Crazy Sickos
              Emacs Makes All Computing Simple
            Emacs Makefiles Annihilate C-Shells
            Emacs Manuals Always Cause Senility
            Emacs May Allow Customized Screwups
           Emacs Manuals Are Cryptic and Surreal
          Eventually Munches All Computer Storage
          Eight Megabytes And Constantly Swapping
          Elsewhere Maybe All Commands are Simple
          Excellent Manuals Are Clearly Suppressed
         Emacs May Alienate Clients and Supporters
         Except by Middle Aged Computer Scientists
         Extended Macros Are Considered Superfluous
        Every Mode Accelerates Creation of Software
       Each Manual's Audience is Completely Stupefied
  Exceptionally Mediocre Algorithm for Computer Scientists
Easily Maintained with the Assistance of Chemical Solutions
Eradication of Memory Accomplished with Complete Simplicity

论坛徽章:
0
发表于 2004-12-30 10:14 |显示全部楼层

有关 Emacs 使用技巧的内容请在这个帖子讨论。

Emacs常用命令速查
2004年 12月17日
     现在我已经能够熟练使用这些命令了,基本上可以算一个初段的Emacser了,哈哈,总结一下,把这些命令打印出来贴在电脑上,不记得了再查查,从今以后尽量做到写代码和文档都用Emacs来完成.
  1)与文件操作有关的命令
  C-x C-f    查找文件并且在新缓冲区中打开
  C-x C-v    读入另一个文件替换掉用C-x C-f打开的文件
  C-x i    把文件插入到光标的当前位置
  C-x C-s    保存文件
  C-x C-w    把缓冲区内容写入一个文件
  C-x C-c    退出Emacs

  2)与光标移动操作有关的命令
  C-f     光标前移一个字符(右)
  C-b     光标后移一个字符(左)
  C-p     光标前移一行(上)
  C-n     光标后移一行(下)
  M-f     前移一个单词
  M-b     后移一个单词
  C-a     移动到行首
  C-e     移动到行尾
  M-e     前移一个句子
  M-a     后移一个句子
  M-}     前移一个段落
  M-{     后移一个段落
  C-v     屏幕上卷一屏
  M-v     屏幕下卷一屏
  C-x ]    前移一页
  C-x [    后移一页
  M-<     前移到文件头
  M->;     后移到文件尾
  C-l     重新绘制屏幕,当前行放在画面中心
  M-n 或者 C-u n  重复执行n次后续命令
  按下M-x后在辅助输入区中输入"goto-line"跳到指定的行,输入"goto-char"跳到指定的字符

  3)与文件删除操作有关的命令
  C-d     删除光标位置上的字符
  DEL     删除光标前面的字符
  M-d     删除光标后面的单词
  M-DEL    删除光标前面的单词
  C-k     从光标位置删除到行尾
  M-k     删除光标后面的句子
  C-x DEL    删除光标前面的句子
  C-y     恢复被删除的文本或者粘贴最近删除或复制的文本
  C-w     删除文件块
  按下M-x后在辅助输入区中输入"kill-paragraph"删除光标后面的段落,按下"backward-kill-paragraph"删除光标前面的段落

  4)与文本块操作有关的命令
  C-@     标记文本块的开始(或结束)位置
  C-x C-x    互换插入点和文本标记的位置
  C-w 或 SHIFT-DEL 删除文本块
  M-w     复制文本块
  M-h     标记段落
  C-x C-p    标记页面
  C-x h    标记整个缓冲区

  5)与位置交换操作有关的命令
  C-t     交换两个字符的位置
  M-t     交换两个单词的位置
  C-x C-t    交换两个文本行的位置
  按下M-x后在辅助输入区中输入"transpose-sentences"交换两个句子的位置,按下"transpose-paragraph"交换两个段落的位置

  6)与改变字母大小写操作有关的命令
  M-c     单词首字母改为大写
  M-u     单词的字母全部改为大写
  M-l     单词的字母全部改为小写

  7)与查找操作相关的命令
  C-s     向前递增查找
  C-r     向后递增查找
  C-s C-w    开始递增查找,把光标位置的单词做查找字符串
  C-s C-y    开始递增查找,把光标位置到行尾之间的文本做查找字符串
  C-s return searchstring return  向前开始非递增查找操作
  C-r return searchstring return  向后开始非递增查找操作
  C-s return C-w  向前开始单词查找(不受换行符、空格、标点符号影响)
  C-r return C-w  向后开始单词查找(不受换行符、空格、标点符号影响)

   与使用编辑缓冲区和窗口有关的命令
  C-x b    如果输入一个新的文件名则新建一个文件并且编辑,否则打开该文件
  C-x s    保存全部缓冲区
  C-x b    删除缓冲区
  M-x rename-buffer 重命名当前缓冲区
  C-x C-q    把当前编辑缓冲区设置为只读属性
  C-x 0    删除当前所在的窗口
  C-x 1    当前缓冲区满屏显示
  C-x 2    创建上下排列的窗口
  C-x 3    创建左右排列的窗口
  C-x o    在窗口之间移动

论坛徽章:
0
发表于 2004-12-30 10:24 |显示全部楼层

有关 Emacs 使用技巧的内容请在这个帖子讨论。

我的Emacs设置
2004年 12月17日
      设置了一下我的Emacs,这些改动可以让我使用起来更加舒服~~

;;禁用启动信息
(setq inhibit-startup-message t)


;;把title设置为“文件名@LC's Emacs"
(setq frame-title-format "%b@LC's Emacs"


;;显示列号
(setq column-number-mode t)

;设置默认的列数是110
(setq default-fill-column 110)


;;设置kill-ring-max(我不知道怎么翻译这个词:)为200,以防不测:)
(setq kill-ring-max 200)


;;设置缺省模式是text,而不是基本模式
(setq default-major-mode 'text-mode)


;;设置tab为4个空格的宽度,而不是原来的2
(setq default-tab-width 4)


(add-hook 'text-mode-hook 'turn-on-auto-fill)
(setq user-full-name "Lichuang"

(global-font-lock-mode t)


;;下面的这个设置可以让光标指到某个括号的时候显示与它匹配的括号
(show-paren-mode t)
(setq show-paren-style 'parentheses)



;;把c语言风格设置为k&r风格
(add-hook 'c-mode-hook
   '(lambda ()
    (c-set-style "k&r"))


;;set c++ style as stroustrup style
(add-hook 'c++-mode-hook
   '(lambda()
   (c-set-style "stroustrup"))


;注:我原来还使用了c和c++中的自动换行功能,不过后来用了不习惯就不用了。

论坛徽章:
0
发表于 2004-12-30 10:29 |显示全部楼层

有关 Emacs 使用技巧的内容请在这个帖子讨论。

我们这全是在linux下作开发的,大家平常编辑c文件 简单修改基本是VI,复杂点的 就用sourceInsight+samba到windows下 编辑

以前我们比你们还土,我们用ssh ,用sourceinsight写好,拖过去。这样子唯一的不好就是调试时花费很多的时间。且不能边写边调,写代码时主要的时间是花费在调试上。也不能专注于开发和调试,要不断的拖来拖去,这样的开发效率会很慢。还有就是你必须在win下做linux的开发。如果你完全在linux下做开发就会没法子,还有,去现场调试也没法子。

后来我们都完全用vi开发,熟了就快了,且编辑和调试是同步。我建议你们可以尝试全用vi或emacs开发,可以提高开发的效率。就算你用不惯,我也建议你们完全在linux下开发,用source navigate  ,elipce ,kdevelope等工具,可以专注于开发。

总之,我觉得写代码时主要的时间是花费在调试上,而不是在编辑上,就是编辑vi和emacs也比vc ,sourceinsight 快。

论坛徽章:
0
发表于 2004-12-30 13:14 |显示全部楼层

有关 Emacs 使用技巧的内容请在这个帖子讨论。

原帖由 "benlan" 发表:

以前我们比你们还土,我们用ssh ,用sourceinsight写好,拖过去。这样子唯一的不好就是调试?.........


呵呵 不知道你们什么方法为什么编辑跟调试不能一起?
一般来说 象embedded system,我们都是有提供telnet+gcc编译的server,在server上用samba到windows下source insight编辑,然后在server编译,一切不是很简单么?

另外 在emacs下除了基本的命令外,不知道有什么可以提高效率的方法?
比如查找一个函数的原型,也要象vi那样去做一个类似tag的东西?

论坛徽章:
0
发表于 2004-12-30 13:26 |显示全部楼层

有关 Emacs 使用技巧的内容请在这个帖子讨论。

一般来说 象embedded system,我们都是有提供telnet+gcc编译的server,在server上用samba到windows下source insight编辑,然后在server编译,一切不是很简单么?

这个我们以前也用过,用ssh比用telnet更好,好象telnet也用的挺多,上次帮个做安全的事业单位做项目,他们也是用telnet的,跌倒。

同步的意思就是指:你必须在win下把东西改好,然后到telnet或ssh上去make ,gcc ,出了点错看是第几行,又到win下来改,改好后又去server上编译,要不断的切换。要做到编编辑和编译时不要窗口换过来换过去。会分散注意力的。以前我们也是那样子过来的,反正你完全在linux用vi和emacs开发肯定比这个模式快的,我们就是这样子实践过来的。

我们还有个gnu组织的人,他要知道的这个开发模式话,要急死的..............

论坛徽章:
0
发表于 2004-12-30 16:27 |显示全部楼层

有关 Emacs 使用技巧的内容请在这个帖子讨论。

我也是用vi 或 emacs,习惯了会觉得很快。

linux下的图形集成开发环境还可以加上一个 c++ builder x

论坛徽章:
0
发表于 2004-12-30 19:39 |显示全部楼层

有关 Emacs 使用技巧的内容请在这个帖子讨论。

原帖由 "arcsiny" 发表:

另外 在emacs下除了基本的命令外,不知道有什么可以提高效率的方法?

呵呵,今天刚换到CVS Emacs, 贴张图,看看有没有什么吸引力?

原帖由 "arcsiny" 发表:

比如查找一个函数的原型,也要象vi那样去做一个类似tag的东西?

很不幸,是的。因为elisp毕竟是脚本语言,用来做即时语法分析的话,
太慢了。

Debug in Emacs

Debug in Emacs

论坛徽章:
0
发表于 2004-12-30 19:48 |显示全部楼层

有关 Emacs 使用技巧的内容请在这个帖子讨论。

开了5个窗口呢呵呵,我平时开两个都嫌多的,不过这样调程序倒是不错哈。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP