﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-生无所息-随笔分类-编辑器</title><link>http://www.cppblog.com/3144046cjc/category/11186.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 07 Aug 2009 22:15:51 GMT</lastBuildDate><pubDate>Fri, 07 Aug 2009 22:15:51 GMT</pubDate><ttl>60</ttl><item><title>Windows vista下用emacs搭建C\C++ IDE</title><link>http://www.cppblog.com/3144046cjc/archive/2009/08/08/92583.html</link><dc:creator>Chen Jiecao</dc:creator><author>Chen Jiecao</author><pubDate>Fri, 07 Aug 2009 19:35:00 GMT</pubDate><guid>http://www.cppblog.com/3144046cjc/archive/2009/08/08/92583.html</guid><wfw:comment>http://www.cppblog.com/3144046cjc/comments/92583.html</wfw:comment><comments>http://www.cppblog.com/3144046cjc/archive/2009/08/08/92583.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/3144046cjc/comments/commentRss/92583.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3144046cjc/services/trackbacks/92583.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 敲敲打打,我的emacs终于像个IDE了,至少可以流畅地写C\C++代码,以及随时可以调用gdb和gcc(以及g++).在ubuntu下面使用emacs非常方便,但是win下面就需要自己去编辑HOME环境变量,以及自己配置编译器等等.说明一下,我的系统是Windows vista home basic, 安装的emacs的版本是22.2&nbsp; for&nbsp; win. 我在D盘根目录下安装了Dev C++,在emacs中,我调用的就是这个文件下的gcc和g++.<br>&nbsp;Windows vista下用emacs搭建C\C++ IDE,基本上有以下几个步骤(不保证唯一,至少我是这么做的):<br>1.&nbsp;下载emacs-22.2版本(现在有更新版本了,我不知道别的版本是不是也是如此配置,不过应该大同小异).<br>2.&nbsp;在vista系统中设置环境变量HOME&nbsp;,值为C:\ (一般说来,设在C盘根目录不是一个好习惯,你可以把C:\替换成你喜欢的路径),如果你不知道如何设置环境变量,请参阅这里:<a href="http://vista123.com/vista/610.html">http://vista123.com/vista/610.html</a><br>3. 解压下载来的压缩包,打开解压后的文件里的\bin\addpm.exe,这个东西是拿来安装emacs用的,用来在win菜单里添加图标等等.<br>4. 编辑emacs配置文件.在Linux中,emacs的配置文件一般为 .emacs&nbsp; ,但是这样的命名在vista下面是不合法的,所以我们用_emacs这样的文件名代替,写好配置文件后,你需要把它扔进 2 中设定的目录所对应的文件中,比如你设定HOME="C:\",那么就把_emacs文件放在C:\下面. 下面是我的配置文件,如果需要,你可以把该文本复制在你的_emacs中<br><br><br><span style="COLOR: red">此处以下</span><br><br>
<div><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;========================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;外观设置================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;========================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;禁用工具栏<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(tool-bar-mode&nbsp;nil)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;禁用菜单栏，F10&nbsp;开启关闭菜单<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(menu-bar-mode&nbsp;nil)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;禁用滚动栏，用鼠标滚轮代替<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;(scroll-bar-mode&nbsp;nil)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;禁用启动画面<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;inhibit-startup-message&nbsp;t)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;尺寸<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;initial-frame-alist&nbsp;'(&nbsp;(width&nbsp;.&nbsp;90)&nbsp;(height&nbsp;.&nbsp;35)))&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;~~~~~~~~~~~~~~~~~~~~<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;颜色设置<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;~~~~~~~~~~~~~~~~~~~~<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;指针颜色<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-cursor-color&nbsp;"white")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;鼠标颜色<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-mouse-color&nbsp;"blue")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;背景和字体颜色<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-foreground-color&nbsp;"lightblue")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-background-color&nbsp;"black")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-border-color&nbsp;"lightgreen")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;语法高亮显示，区域选择，二次选择&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;前景和背景色<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-face-foreground&nbsp;'highlight&nbsp;"red")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-face-background&nbsp;'highlight&nbsp;"blue")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-face-foreground&nbsp;'region&nbsp;"cyan")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-face-background&nbsp;'region&nbsp;"blue")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-face-foreground&nbsp;'secondary-selection&nbsp;"skyblue")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-face-background&nbsp;'secondary-selection&nbsp;"darkblue")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;字体设置&nbsp;&nbsp; <span style="COLOR: red">你的系统中很可能没有YaHeiConsolas,那么你就选择一个你喜欢的字体,代替它写在下面.<br></span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(set-default-font&nbsp;"YaHeiConsolas")&nbsp;&nbsp;&nbsp;&nbsp; <br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;========================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;缓冲区==================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;========================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;设定行距<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;default-line-spacing&nbsp;0)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;页宽&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;default-fill-column&nbsp;90)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;缺省模式&nbsp;text-mode<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;default-major-mode&nbsp;'text-mode)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;设置删除纪录<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;kill-ring-max&nbsp;200)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;以空行结束<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;require-final-newline&nbsp;t)&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;语法加亮<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(global-font-lock-mode&nbsp;t)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;高亮显示区域选择<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(transient-mark-mode&nbsp;t)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;页面平滑滚动，&nbsp;scroll-margin&nbsp;5&nbsp;靠近屏幕边沿3行时开始滚动，可以很好的看到上下文。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;scroll-margin&nbsp;5<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scroll-conservatively&nbsp;10000)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;高亮显示成对括号，但不来回弹跳<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(show-paren-mode&nbsp;t)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;show-paren-style&nbsp;'parentheses)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;鼠标指针规避光标<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;(mouse-avoidance-mode&nbsp;'animate)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;粘贴于光标处，而不是鼠标指针处<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;mouse-yank-at-point&nbsp;t)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;自动补齐设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: red">按下 M - / 键(一般而言就是Alt + /),emacs会帮你补全你正在打的关键字<br></span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(global-set-key&nbsp;[(meta&nbsp;?/)]&nbsp;'hippie-expand)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;hippie-expand-try-functions-list&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'(try-expand-dabbrev<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;try-expand-dabbrev-visible<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;try-expand-dabbrev-all-buffers<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;try-expand-dabbrev-from-kill<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;try-complete-file-name-partially<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;try-complete-file-name<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;try-expand-all-abbrevs<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;try-expand-list<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;try-expand-line<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;try-complete-lisp-symbol-partially<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;try-complete-lisp-symbol))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;====================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;插件拓展============================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;====================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;<span style="COLOR: red">这个部分是特别值得注意的,因为如果你没有下载下面的插件,emacs会出现加载异常.<br></span>&nbsp;&nbsp;&nbsp; ;;<span style="COLOR: red">为了避免这种情况,此文的下面我提供了插件的压缩包<br></span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;显示行号<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(require&nbsp;'linum)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;linum-format&nbsp;"%3d&nbsp;")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(add-hook&nbsp;'find-file-hooks&nbsp;(lambda&nbsp;()&nbsp;(linum-mode&nbsp;1)))&nbsp;;;对所有文件生效<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;这个插件好像拿来补全用的,不过不是很强大<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;yasnippet-bundle<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(require&nbsp;'yasnippet-bundle)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;===================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;自定义一些快捷键====================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;===================================<br>&nbsp;&nbsp;&nbsp; ;;<span style="COLOR: red">下面是跳行的快捷键,按下Ctrl + j ,然后输入对应的行,再按回车即可<br></span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(global-set-key&nbsp;(kbd&nbsp;"C-j")'goto-line)&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;<span style="COLOR: red">你也可以在这里定义其它的快捷键</span><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;===================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;设置编译器==========================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;===================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;(setq&nbsp;compile-command&nbsp;(concat&nbsp;"D:/Dev-Cpp/bin/g++&nbsp;-g&nbsp;"&nbsp;"\""&nbsp;buffer-file-name&nbsp;"\""))&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(global-set-key&nbsp;(kbd&nbsp;"&lt;f9&gt;")&nbsp;'smart-compile)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(defun&nbsp;smart-compile()<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;&nbsp;"比较智能的C/C++编译命令<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;如果当前目录有makefile则用make&nbsp;-k编译，否则，如果是<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;处于c-mode，就用gcc&nbsp;-Wall编译，如果是c++-mode就用&nbsp;g++&nbsp;-Wall编译"<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;(interactive)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;;;&nbsp;查找&nbsp;Makefile<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;(let&nbsp;((candidate-make-file-name&nbsp;'("makefile"&nbsp;"Makefile"&nbsp;"GNUmakefile"))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(command&nbsp;nil))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;(if&nbsp;(not&nbsp;(null<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(find&nbsp;t&nbsp;candidate-make-file-name&nbsp;:key<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'(lambda&nbsp;(f)&nbsp;(file-readable-p&nbsp;f)))))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(setq&nbsp;command&nbsp;"make&nbsp;-k&nbsp;")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;没有找到&nbsp;Makefile&nbsp;，查看当前&nbsp;mode&nbsp;是否是已知的可编译的模式<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if&nbsp;(null&nbsp;(buffer-file-name&nbsp;(current-buffer)))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(message&nbsp;"Buffer&nbsp;not&nbsp;attached&nbsp;to&nbsp;a&nbsp;file,&nbsp;won't&nbsp;compile!")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if&nbsp;(eq&nbsp;major-mode&nbsp;'c-mode)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(setq&nbsp;command<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(concat&nbsp;"D:/Dev-Cpp/bin/gcc.exe&nbsp;-Wall&nbsp;-o&nbsp;"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<span style="COLOR: red">你要明确知道自己的编译器在哪里,<br></span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(file-name-sans-extension&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<span style="COLOR: red">这样,用你的gcc.exe的地址代替这里的D:/Dev-Cpp/bin/gcc.exe</span>&nbsp;&nbsp;&nbsp; <br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(file-name-nondirectory&nbsp;buffer-file-name)) ;;<span style="COLOR: red">注意,这里的路径的斜杠和vista的习惯相反,你要注意修改</span><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;"<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(file-name-nondirectory&nbsp;buffer-file-name)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;-g&nbsp;-lm&nbsp;"))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if&nbsp;(eq&nbsp;major-mode&nbsp;'c++-mode)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(setq&nbsp;command<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(concat&nbsp;"D:/Dev-Cpp/bin/g++.exe&nbsp;-Wall&nbsp;-o&nbsp;" ;;<span style="COLOR: red">还有这里的g++,也同gcc一样...<br></span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(file-name-sans-extension<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(file-name-nondirectory&nbsp;buffer-file-name))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;"<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(file-name-nondirectory&nbsp;buffer-file-name)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&nbsp;-g&nbsp;-lm&nbsp;"))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(message&nbsp;"Unknow&nbsp;mode,&nbsp;won't&nbsp;compile!")))))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;(if&nbsp;(not&nbsp;(null&nbsp;command))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(let&nbsp;((command&nbsp;(read-from-minibuffer&nbsp;"Compile&nbsp;command:&nbsp;"&nbsp;command)))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(compile&nbsp;command)))))<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;=====================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;代码风格==============================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;=====================================<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;C/C++/Java&nbsp;mode<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(defun&nbsp;my-c-mode-hook()<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;将回车代替C-j的功能，换行的同时对齐<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(define-key&nbsp;c-mode-map&nbsp;[return]&nbsp;'newline-and-indent)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(interactive)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;设置C程序的对齐风格<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;(c-set-style&nbsp;"K&amp;R")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;自动模式，在此种模式下当你键入{时，会自动根据你设置的对齐风格对齐<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;(c-toggle-auto-state)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;此模式下，当按Backspace时会删除最多的空格<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(c-toggle-hungry-state)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;TAB键的宽度设置为8<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;c-basic-offset&nbsp;4)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;在菜单中加入当前Buffer的函数索引<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(imenu-add-menubar-index)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>;;&nbsp;在状态条上显示当前光标在哪个函数体内部<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(which-function-mode)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(defun&nbsp;my-c++-mode-hook()<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(define-key&nbsp;c++-mode-map&nbsp;[return]&nbsp;'newline-and-indent)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(interactive)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(c-set-style&nbsp;"stroustrup")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(c-toggle-auto-state)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(c-toggle-hungry-state)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;c-basic-offset&nbsp;4)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(imenu-add-menubar-index)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(which-function-mode)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(defun&nbsp;my-java-mode()<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(define-key&nbsp;java-mode-map&nbsp;[return]&nbsp;'newline-and-indent)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(interactive)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(c-set-style&nbsp;"java")<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(c-toggle-auto-state)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(c-toggle-hungry-state)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(setq&nbsp;c-basic-offset&nbsp;4)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(imenu-add-menubar-index)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(which-function-mode)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(add-hook&nbsp;'c-mode-hook&nbsp;'my-c-mode-hook)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(add-hook&nbsp;'c++-mode-hook&nbsp;'my-c++-mode-hook)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>(add-hook&nbsp;'java-mode-hook&nbsp;'my-java-mode)</div>
<span style="COLOR: red">此处以上</span><br>&nbsp;&nbsp;&nbsp;<span style="FONT-FAMILY: 微软雅黑">申明一点,这些配置参考的是网上诸位达人的,我只是挑选我喜欢的特性,然后把它整合在一起,并分类注释</span><br><br>&nbsp;&nbsp;&nbsp; 注意看上面的注释,特别是红色部分.<br>&nbsp;&nbsp;&nbsp; 如果你使用了我的配置文件,那么下面是几点提示:<br>&nbsp;&nbsp;&nbsp; 1.&nbsp; emacs会根据文件的拓展名识别文件,这时按下F9即可用对应的编译器编译,需要用gdb调试,你只需要输入M-x gdb 然后回车即可.<br>&nbsp;&nbsp;&nbsp; 2.&nbsp; 编辑C\C++代码时,tab键会有一定的补齐功能,这些功能由一个插件提供.这里是一个视频演示:<a href="http://v.youku.com/v_show/id_XMzI0NDYxNDQ=.html"><span style="FONT-FAMILY: 微软雅黑">http://v.youku.com/v_show/id_XMzI0NDYxNDQ=.html</span></a><br>&nbsp;&nbsp;&nbsp; 3.&nbsp; M-/用于补全打到一半的关键字,如果你是ubuntu fan,你会发现这个组合键才像是tab键.<br>&nbsp;&nbsp;&nbsp; 4.&nbsp; 还有其它的一些特性,有待摸索.<br>&nbsp;&nbsp;&nbsp; 5.&nbsp; 你可以自己在网上搜罗一些强大的插件,然后用一个require命令即可调用.<br><br><br>&nbsp;&nbsp;&nbsp; 如果需要使用我的配置,点击<a title=点我下载 href="http://www.cppblog.com/Files/3144046cjc/site-lisp.rar">这里</a>下载所需插件.<br>&nbsp;&nbsp;&nbsp; 对于下载后的文件,你需要提取其中的文件到emacs文件夹根目录的site-lisp里面(如果没有这个文件夹,直接创建一个).这个文件夹是专门用来放插件的,以后你下载了插件,就丢到这里,然后在配置文件中加入&nbsp; (require&nbsp;'插件名称)&nbsp;&nbsp; 即可.在配置文件中,我已经分好了类别,建议以后添加特性的时候分类添加.<br>&nbsp;&nbsp;&nbsp; 下面是几张截图:<br>&nbsp;&nbsp;&nbsp;&nbsp; 编辑C++代码<br><img height=764 alt="" src="http://www.cppblog.com/images/cppblog_com/3144046cjc/emacs1.jpg" width=584 border=0><br><br><br>&nbsp;&nbsp;&nbsp; 按下F9后用g++编译<br><img height=762 alt="" src="http://www.cppblog.com/images/cppblog_com/3144046cjc/emacs2.jpg" width=585 border=0><br><br>&nbsp;&nbsp;&nbsp; 用键入M-x gdb (也即Alt + x + gdb 回车) 后用gdb调试<br><img height=766 alt="" src="http://www.cppblog.com/images/cppblog_com/3144046cjc/emacs3.jpg" width=584 border=0>&nbsp;<br><br>如有错误,欢迎指正!
<img src ="http://www.cppblog.com/3144046cjc/aggbug/92583.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3144046cjc/" target="_blank">Chen Jiecao</a> 2009-08-08 03:35 <a href="http://www.cppblog.com/3144046cjc/archive/2009/08/08/92583.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我把emacs当记事本用了</title><link>http://www.cppblog.com/3144046cjc/archive/2009/07/16/90281.html</link><dc:creator>Chen Jiecao</dc:creator><author>Chen Jiecao</author><pubDate>Thu, 16 Jul 2009 13:58:00 GMT</pubDate><guid>http://www.cppblog.com/3144046cjc/archive/2009/07/16/90281.html</guid><wfw:comment>http://www.cppblog.com/3144046cjc/comments/90281.html</wfw:comment><comments>http://www.cppblog.com/3144046cjc/archive/2009/07/16/90281.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/3144046cjc/comments/commentRss/90281.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3144046cjc/services/trackbacks/90281.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 暴殄天物,我真是一等一的高手.lisp教程看得头脑发胀,也没能把emacs打造成C++的IDE.之前在Ubuntu上倒是勉强能用,因为gbd、g++这些东西都是现成的,但是在vista下面我怎么也不能把它们整合在一起.双系统又不好装,因为用的笔记本每个盘都放着东西,而且这些东西还不是一般的文件.格了vista,更加不舍得,毕竟lingoes这样的软件我是不舍得放弃的.而Linux下面的浏览器对我而言只有火狐好用,下载工具又太少.Google上看了大把的资料,但依然没有头绪.算了,我也不是搞软件工程的,只是写写一些算法类的题目,代码短小的很,要编译就把代码复制到DEV C++上.于是,emacs在我的手里就彻底地成了一个记事本,虽然这个记事本比较好看,也比较实用.<br><img alt="" src="http://www.cppblog.com/images/cppblog_com/3144046cjc/emacs.png" width="797" align="left" height="766"><br> <img src ="http://www.cppblog.com/3144046cjc/aggbug/90281.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3144046cjc/" target="_blank">Chen Jiecao</a> 2009-07-16 21:58 <a href="http://www.cppblog.com/3144046cjc/archive/2009/07/16/90281.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最近刚用的编辑器</title><link>http://www.cppblog.com/3144046cjc/archive/2009/07/13/89959.html</link><dc:creator>Chen Jiecao</dc:creator><author>Chen Jiecao</author><pubDate>Mon, 13 Jul 2009 11:45:00 GMT</pubDate><guid>http://www.cppblog.com/3144046cjc/archive/2009/07/13/89959.html</guid><wfw:comment>http://www.cppblog.com/3144046cjc/comments/89959.html</wfw:comment><comments>http://www.cppblog.com/3144046cjc/archive/2009/07/13/89959.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/3144046cjc/comments/commentRss/89959.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/3144046cjc/services/trackbacks/89959.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EditPlus的功能一般,但是体积很小,大约1M.现在更多软件都喜欢用PlusPlus、++之类的表示自己功<br>能之高级,大概都是跟C++学的.说到体积小,功能强,最让人咋舌的莫过于"64K"系列了,当时我就纳闷,这个<br>世间怎么会存在这样的牛人,居然把能一整部3D动画压缩在不到64K的空间里,据说压缩比例达到了10000:1.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EditPlus默认支持的编程语言很少,当然有需求并且又能里的同学可以自己添加支持文件.正因为支持的<br>语言少,所以它很有针对性.比如我用它来编辑C++文件,它的自动补全功能就显得非常强大.但是,EditPlus像<br>微软一样犯了故作聪明的毛病,比如我打一个if,它会帮我自动补全成<br>if (|)<br>{<br>}<br>&nbsp;| 是光标所在位置,很多情况下,我都不需要后面的花括号,所以我经常得耐着性子把它删掉.这东西应该可以配<br>置的,到时候应该去更改一下.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EditPlus还有一点不好----需要注册.但是道高一尺,魔高一丈,google一下"EditPlus 注册码",第一条就有<br>用了.下面是截屏:<br><img alt=""  src="http://www.cppblog.com/images/cppblog_com/3144046cjc/screen.png" width="830" align="left" height="694"><br><br><br> <img src ="http://www.cppblog.com/3144046cjc/aggbug/89959.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/3144046cjc/" target="_blank">Chen Jiecao</a> 2009-07-13 19:45 <a href="http://www.cppblog.com/3144046cjc/archive/2009/07/13/89959.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>