emacs require和provide
Emacs的默认配置文件是.emacs,Emacs启动时会读取并执行.emacs中的LISP代码,用户使用.emacs达到自己的Emacs初始化配置目的。
不过单独使用.emacs有一个问题,因为时间一久,Emacs的初始化配置会变得很多很乱,各种mode的配置都放在.emacs中,.emacs文件中的代
码就变得很长,不利于管理、更改和阅读。其实Emacs建议了另外一种管理初始化配置的方式,我们新安装的Emacs都有一个.emacs.d目录,
就是利用这个目录实现按分类逐个加载初始配置文件来管理Emacs初始配置的方式。
使用.emacs.d目录管理Emacs初始化配置文件,如下设置:
在默认配置文件.emacs中使用:add-to-list,将自己的配置文件路径,通常就使用.emacs.d,加入到load-path,并使用:require,加入配
置文件提供的特性(Feature),一般来说将配置文件名和其提供的Feature命名相同。例如,下面的.emacs配置文件:
;; This is the main Emacs initialization file – .emacs.
(add-to-list ‘load-path (expand-file-name “~/.emacs.d”))
(require ‘feature_1)
(require ‘feature_2)
(require ‘feature_3)
在.emacs中加入的load-path配置文件路径中,即上面的.emacs.d目录,放入自己的配置文件。这些配置文件可以按照功能分类组织,例如,
在.emacs.d中放入:feature_1.el、feature_2.el、feature_3.el。注意:要在每个配置文件中使用provide定义其提供的Feature,比如:
feature_1.el这个配置文件,它提供feature_1特性,即是.emacs中使用require命令要求的feature_1特性,那么要在feature_1.el中加入
provide,则feature_1.el内容如下:
;; This is my Emacs customization file feature_1.el providing feature_1
(provide ‘feature_1)
;; customization code …
这样按功能分类组织Emacs的初始化配置文件就清晰多了,原来的默认配置文件.emacs现在只是一个调入其它配置文件的入口,它的内容也少
多了,更容易扩展和管理。关于Feature、require、provide的详细功能参考Emacs的GNU官方文档:15.7 Features。
另外提一句,目前很多Linux下的开源的软件都支持这种:.xxx.d目录的方式管理配置文件,其中xxx是软件相关的名字。
原文链接:https://blog.csdn.net/gxp/article/details/6970464
c/c++ 学习互助QQ群:877684253
本人微信:xiaoshitou5854
emacs require和provide的更多相关文章
- Emacs学习心得之 基础配置
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础配置 1.前言2.基础配置 一.前言 本篇博文记录了Emacs的一 ...
- emacs 配置.emacs
emacs 配置.emacs (require 'package) (package-initialize) (add-to-list'package-archives '("melpa&q ...
- Haskell Interactive Development in Emacs
Installation Following haskell-mode. Use MELPA repository: add the following into ~/.emacs (require ...
- ExtJS笔记2 Class System
For the first time in its history, Ext JS went through a huge refactoring from the ground up with th ...
- Node.js学习笔记 01 搭建静态服务器
希望这篇文章能解决你这样一个问题:“我现在已经了解了一些Node.Js基本概念了,怎么搭一台静态服务器呢?” 请参考一下博主的前两篇文章: 完全面向于初学者的Node.js指南 Node.Js的Mod ...
- Javascript的AMD规范
Javascript发展到今天,已经从一个小丑语言变成了不可替代的前端利器,已经脱离了低端的玩笑脚步,而转变为有规可依的强大语言. 本文主要讲述下如今被大力推广的AMD规范,为什么要AMD,什么场景是 ...
- CentOS7.2非HA分布式部署Openstack Pike版 (实验)
部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware® Workstation 12 Pro(12.5.2 build ...
- javaScript 的AMD
转载:http://www.cnblogs.com/happyPawpaw/archive/2012/05/31/2528864.html#undefined 1. AMD的由来 前端技术虽然在不断发 ...
- openstack第六章:dashboard
第六篇horizon— Web管理界面 一.horizon 介绍: 理解 horizon Horizon 为 Openstack 提供一个 WEB 前端的管理界面 (UI 服务 )通过 ...
随机推荐
- leaflet 实现克里金插值功能(附源码下载)
前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...
- socket调试工具(Mac版)
基于Mac版的Socket测试功能,类似于PostMan的功能,对于Socket长链接的项目开发很有帮助. 本人也是通过好多渠道才找到这篇文章,与大家共享: 按照步骤一步一步来就对了~ 本文参考于:h ...
- Python 定义常量
常量在编写程序的时候,一旦设定就不能再进行变动,常量一种约定俗成的方式,所有字母大写并用下划线分隔单词的方式(如MAX_VALUE, OUT_TIME等),但是python没有提供设置常量用法,需要自 ...
- fastadmin安装定时插件报错 ZipArchive::extractTo(): Permission denied
环境linux上直接安装 如果你是在win开发号直接部署的应该是没问题 我是直接在linux安装的 这几天研了下fastadmin 想用他的定时可是在使用的时候报错 ZipArchive::e ...
- gcc 4.9 编译安装 in Ubuntu 18.04(主要用于在无root权限下,进行更新系统 gcc 版本)
gcc 4.9 编译安装教程,因为项目编译过程中,需要采用特定的gcc版本来进行编译,所以进行简要记录,进行备忘: 下载:curl -O -L https://mirrors.tuna.tsinghu ...
- angular6 multipart/form-data Post
一般情况下用的都是 第三种 然后碰到后台要求的是这种格式的数据 这时候我们就要修改一下我们的post 请求头,话不多说 直接上代码. 这样子的话 就ok啦!
- React中useEffect使用
2019-08-24 07:00:00 文摘资讯 阅读数 1364 收藏 博文的原始地址 之前我们已经掌握了useState的使用,在 class 中,我们通过在构造函数中设置 this.s ...
- SQL --- where 1=1 与 1<> 1
1.Sql 中的查询语句中的where 字句是为了带条件进行查询,那么使用where 1=1 后查询的是什么 首先:查询表 tb_obge 中的所有字段 select * from dbo.o ...
- java基础(12):构造方法、this、super
1. 构造方法 我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方 ...
- 自从用python写了个自动弹幕脚本后,各大主播都来找我,净赚十万!
大家好,今天又给大家带来了Python爬虫的分享,今天我们继续上次的问题,继续来研究一下虎牙平台的爬虫. 起因 写完上次的代码,我冒出有一个很有趣的想法,就是,我们可以使用selenium来完成虎牙自 ...