热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

emacs的配置过程

先借用下前人的博文如下:原文:http:blog.csdn.netlongxj04articledetails6606355首先在putty里设置好自

先借用下前人的博文如下:

原文:

http://blog.csdn.net/longxj04/article/details/6606355


首先在putty里设置好自己喜好的color,font,然后设置好translation里的编码,这个是重点,不然就会出现中文乱码设置什么编码,取决于linux平台的locale,可以用locale命令查看注意,如果要显示中文,请务必保证locale里的lang和language是以zh开头的,en开头的字符集无法显示中文。设置命令:export LC_ALL=zh_CN.UTF-8 (当然也可以分别设置lang language),这个命令可以放到自己的启动脚本中~/.bashrc.也就是说putty里translation要跟linux平台的locale一致(不一致putty就无法正常解释,就会出现乱码)。设置好后,记得保存一个session,这个session在后面的推荐工具也能用到。by the way,推荐一个好工具putty connection manager,可以解决putty不能自动登录,没有tab的问题(一个putty就一个窗口太烦)

emacs编辑来自各个平台的文件时,要注意编辑文件的编码格式,如果打开文件显示有乱码,一般就说明打开文件的编码跟文件编码不一致。可以用M+describe-coding-system可以查看当前buffer用的解释编码,可以用M+revert-buffer-with-coding-system来改变解码方式,一般主要是gbk(gb18030,gbk)和utf-8。还有一个命令M+prefer-coding-system设置默认解码格式,需要将这个命令放入.emacs中。


emacs编程,非常有用的3个插件:

cscope

使用cscope需要先安装cscope,用源码编译或者linux发行版自带的各种包管理工具,随你喜好。装好后,拷贝xcscope.el到一个emacs的加载路径中,一般是在自己的主目录下建一个.emacs.d的目录,然后将这个目录加入.emacs中:

(add-to-list 'load-path "~/.emacs.d")

要使用cscope,先建索引:

可以参考下面的命令,假设所有的头文件和cpp文件在src目录下:

find src/ -type f -iname "*.h" > cscope.files

find src/ -type f-iname "*.cpp" >>cscope.files (这里是>>追加)

然后执行命令cscope -bq


auto-complete

自动补全:

emacs下的自动不全可以用auto-complete,安装使用都很方便http://cx4a.org/software/auto-complete/manual.html#Source


cedet+ecb(emacs code browser)

ecb可以列出文件里面的各种函数,装这个需要先装cedet,挺好用的。cedet里面的semantic可以支持语法级别的自动提示和补全。


我的配置文件在这里:http://blog.csdn.net/longxj04/article/details/6316040,插件装好了,可以直接使用。


完整的emacs配置以及插件

这里http://www.kuaipan.cn/file/id_8195239982399743.htm有我的配置文件以及对应的所有插件

配置文件内容:

1.emacs_conf.txt 放在主目录下,命名为.emacs

2.emacs.d.tar.gz 解压缩到主目录下,命名为.emacs.d

3.进入.emacs.d的cedet-1.0pre7, 运行命令make EMACS=emacs,编译cedet

这样就ok了


配置完成后如下:


http://blog.csdn.net/longxj04/article/details/6606355

由于我用的emacs是24.3版本的

根据博文出现如下问题:


n toplevel form:

lmcompile.el:35:1:Error: Forgot to expand macro eieio-object-p
lmcompile.el:35:1:Error: Forgot to expand macro eieio-object-p
lmcompile.el:35:1:Error: Forgot to expand macro eieio-object-p
lmcompile.el:35:1:Error: Forgot to expand macro eieio-object-p
lmcompile.el:35:1:Error: Forgot to expand macro eieio-object-p
lmcompile.el:35:1:Error: Forgot to expand macro eieio-object-p
lmcompile.el:35:1:Error: Invalid function: eieio-object-p
make[1]: *** [examples] 错误 1
make[1]:正在离开目录 `/root/.emacs.d/cedet-1.0pre7/eieio'


在http://sourceforge.net/projects/cedet/  这个位置下载cedet1.1就行了


问题: ”Symbol's value as variable is void: stack-trace-on-error“


解决: 在你的emacs配置中加上(setq stack-trace-on-error t)



如下是我根据它的包做好的整体配置:

如下:

http://download.csdn.net/detail/htjx99/6996231



有网上有牛人有更好的配置如下:

http://www.cnblogs.com/karotte/archive/2012/06/06/2537670.html




推荐阅读
  • 深入解读代码页与字符集的概念及其实际应用
    许多开发者可能未曾留意到这一问题,但如果您的网站频繁遭遇不明原因的乱码现象,深入了解代码页与字符集的概念及其实际应用将大有裨益。代码页(Codepage),即内码表,是计算机系统中用于映射字符与其编码值的一种机制,不同的代码页支持不同的字符集,正确选择和配置代码页对于确保文本数据的准确显示至关重要。在多语言环境下,合理运用字符集和代码页能够有效避免字符编码冲突,提升用户体验。 ... [详细]
  • Java Web开发中的JSP:三大指令、九大隐式对象与动作标签详解
    在Java Web开发中,JSP(Java Server Pages)是一种重要的技术,用于构建动态网页。本文详细介绍了JSP的三大指令、九大隐式对象以及动作标签。三大指令包括页面指令、包含指令和标签库指令,它们分别用于设置页面属性、引入其他文件和定义自定义标签。九大隐式对象则涵盖了请求、响应、会话、应用上下文等关键组件,为开发者提供了便捷的操作接口。动作标签则通过预定义的动作来简化页面逻辑,提高开发效率。这些内容对于理解和掌握JSP技术具有重要意义。 ... [详细]
  • 在Python编程中,探讨了并发与并行的概念及其区别。并发指的是系统同时处理多个任务的能力,而并行则指在同一时间点上并行执行多个任务。文章详细解析了阻塞与非阻塞操作、同步与异步编程模型,以及IO多路复用技术的应用。通过模拟socket发送HTTP请求的过程,展示了如何创建连接、发送数据和接收响应,并强调了默认情况下socket的阻塞特性。此外,还介绍了如何利用这些技术优化网络通信性能和提高程序效率。 ... [详细]
  • Python网络爬虫入门:利用urllib库进行数据抓取
    Python网络爬虫入门:利用urllib库进行数据抓取在数据科学和Web开发领域,Python凭借其简洁高效的特性成为首选语言。本文主要介绍了如何在Windows环境下使用Python的urllib库进行基本的网络数据抓取。考虑到命令行操作的不便,作者选择了Jupyter Notebook作为开发环境,不仅简化了配置过程,还提供了直观的数据处理和可视化功能。通过实例演示,读者可以轻松掌握urllib的基本用法,为深入学习网络爬虫技术打下坚实基础。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 如何在Java中高效构建WebService
    本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的Java SOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。 ... [详细]
  • 在处理大规模并发请求时,传统的多线程或多进程模型往往无法有效解决性能瓶颈问题。尽管它们在处理小规模任务时能提升效率,但在高并发场景下,系统资源的过度消耗和上下文切换的开销会显著降低整体性能。相比之下,Python 的 `asyncio` 模块通过协程提供了一种轻量级且高效的并发解决方案。本文将深入解析 `asyncio` 模块的原理及其在实际应用中的优化技巧,帮助开发者更好地利用协程技术提升程序性能。 ... [详细]
  • HTTP协议作为互联网通信的基础,其重要性不言而喻。相比JDK自带的URLConnection,HttpClient不仅提升了易用性和灵活性,还在性能、稳定性和安全性方面进行了显著优化。本文将深入解析HttpClient的使用方法与技巧,帮助开发者更好地掌握这一强大的工具。 ... [详细]
  • 本文提供了 RabbitMQ 3.7 的快速上手指南,详细介绍了环境搭建、生产者和消费者的配置与使用。通过官方教程的指引,读者可以轻松完成初步测试和实践,快速掌握 RabbitMQ 的核心功能和基本操作。 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • 初次接触AJAX是在去年,当时主要是通过手动编写客户端代码来实现,还需处理被请求的页面,过程相当繁琐。尽管之前就听说过AJAX.NET,但一直没有机会深入了解。本文将作为初学者的指南,详细介绍AJAX.NET的基本概念、核心功能及其在实际项目中的应用技巧,帮助读者快速上手并掌握这一强大的开发工具。 ... [详细]
  • 在Spring Boot项目中,若遇到JSP页面中文显示异常的问题,可以通过配置`application.yml`文件来解决。具体设置如下:在`server.tomcat.uri-encoding`项中指定编码为UTF-8,并确保`spring.http.encoding`也配置为UTF-8,以实现全链路的字符集统一,从而有效避免中文乱码现象。此外,建议检查JSP文件本身的编码格式,确保其与应用配置一致,进一步提升页面显示的稳定性与准确性。 ... [详细]
  • 本文介绍了在 Android 平台上的图片上传工具类优化方案,重点讨论了如何通过设置 `MultipartEntity` 来实现图片的高效上传。具体实现中,通过自定义 `UserUploadServiceImpl` 类,详细展示了如何构建和发送包含图片数据的 HTTP 请求。此外,还探讨了如何处理上传过程中的常见问题,如网络异常和文件格式验证,以确保上传的稳定性和可靠性。 ... [详细]
  • 在前一篇文章中,我们介绍了如何使用Requests库发送GET请求。本文将深入探讨如何通过Requests库发送POST请求,包括参数格式、请求封装等关键技巧,并通过“历史上的今天”API实例进行详细说明。 ... [详细]
  • 在2020年8月19日的深度分析中,我们探讨了HTML标签中同时存在`a`标签的`href`和`onclick`属性时的触发顺序问题。此外,还讨论了如何在一个自适应高度的父级`div`中,使两个子`div`中的一个固定高度为300px,另一个自动填充剩余空间的方法。最后,文章详细介绍了JavaScript异步加载的多种实现方式,包括但不限于`async`、`defer`属性以及动态脚本插入技术,为开发者提供了丰富的技术参考。 ... [详细]
author-avatar
猪宝宝的事
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有