Emacs学习笔记(3)——基于MELPA的Emace插件安装_emacs install from melpa-程序员宅基地

技术标签: Emacs  

来源:http://ergoemacs.org/emacs/emacs_package_system.html

在Emacs版本号24以上的文件.emacs中写入如下语句,以实现可安装插件的显示

(when (>= emacs-major-version 24)
  (require 'package)
  (add-to-list
   'package-archives
   '("melpa" . "http://melpa.org/packages/")
   t)
  (package-initialize))
然后用语句:M-x eval-buffer,实现文件.Emacs的重调用


restart emacs.

emacs packages elpa screenshotEmacs  list-packages screenshot
  1. Now, call list-packages.
  2. Find the package you want, move cursor to the line press Enter ↵.
  3. press Tab ↹ to move cursor to the “Install” button then press Enter ↵.
  4. Then, you can start to use the package.

Following are details.

Listing Available Packages

Call list-packages.

Install Packages

This list is shown in package-menu-mode. In this mode, here's the most useful keys:

  • Enter ↵】 (package-menu-describe-package) → Describe the package under cursor.
  • i】 (package-menu-mark-install) → mark for installation.
  • u】 (package-menu-mark-unmark) → unmark.
  • d】 (package-menu-mark-delete) → mark for deletion (removal of a installed package).
  • x】 (package-menu-execute) → for “execute” (start install/uninstall of marked items).
  • r】 (package-menu-refresh) → refresh the list from server.

(For complete list of keys, call describe-mode 【Ctrl+h m】)

For example, i want to install the clojure-mode. I type i to mark it, x to run install. Then, i got the following files in my dir, all automatically byte-compiled and loaded.

~/.emacs.d/elpa/clojure-mode-1.7.1:
clojure-mode-autoloads.el
clojure-mode-pkg.el
clojure-mode-pkg.elc
clojure-mode.el
clojure-mode.elc

and now i can call clojure-mode, and it works right there! (no need to restart, but for some packages, you may need to turn it on or restart emacs.)

Upgrade Packages

To upgrade packages, just press 【U x】.

  • package-menu-mark-upgrades 【U】 → For any package that has a new version, the installed one will be marked “D” (for delete), and new one will be marked “I” (to install).
  • package-menu-execute 【x】 → run the marked commands on packages.

WARNING: package upgrade is not reliable. It is better to upgrade one package at a time. First delete the package, then install the latest.

Installed Packages Location

New packages are installed at ~/.emacs.d/elpa/.

If you want to remove all external packages, you can delete this entire directory and restart emacs. It is harmless to do so.

Packages Repositories

The source of the packages are from package servers. There are several.

  • http://elpa.gnu.org/ Default. Official GNU Emacs package repository. This repository contains the minimal set, and each package is signed by Free Software Foundation.
  • http://marmalade-repo.org/ Marmalade. More extensive number of packages.
  • http://melpa.org/ MELPA. As of 2016-01-16, MELPA has most packages, and updated daily.

To add it, put the following in your emacs init file:

(when (>= emacs-major-version 24)
  (require 'package)
  (add-to-list
   'package-archives
   '("melpa" . "http://melpa.org/packages/")
   t)
  (package-initialize))

Note: the emacs package system, called ELPA (aka package.el), is started by Tom Tromey. Marmalade is started by Nathan Weizenbaum. MELPA is started by Donald Ephraim Curtis (aka milkypostman) Thank you guys.

Helpful Commands and Variables

package-enable-at-startup. By default, this is t (true).

package-load-list. This determines which packages should be loaded at start-up.

Call describe-function or describe-variable for details.


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/suncrx/article/details/51461523

智能推荐

骨骼的动作识别数据集_基于Kinect骨骼数据的人体动作姿势识别方法-程序员宅基地

文章浏览阅读140次。A Posture Recognition Method Based on Kinect Skeleton DataLI Hongbo1李红波(1970-),男,高级工程师,研究方向:数字媒体技术,机器视觉,增强现实LI Shuangsheng1李双生(1989-),男,硕士研究生,研究方向:数字媒体技术,模式识别SUN Boyuan1孙舶源(1987-),男,硕士研究生,研究方向:数字媒体技术,..._骨骼动作识别方面的大能有哪些人

基于Java+SpringBoot+vue+element实现校园闲置物品交易网站_基于springboot+vue的校园购物网站-程序员宅基地

文章浏览阅读1w次,点赞74次,收藏214次。校园闲置物品交易网站的设计基于现有的网络平台,可以实现用户管理及数据信息管理,方便管理员对后台进行管理有详细的了解及统计分析,随时查看信息状态。主要功能设计: 1、开发实现校园闲置物品交易网站的整个系统程序;2、管理员;首页、个人中心、用户管理、商品类型管理、商品信息管理、系统管理、订单管理等。_基于springboot+vue的校园购物网站

mmcv 对比 cv2 处理视频速度_mmcv和opencv-程序员宅基地

文章浏览阅读990次。import osimport timesource = './11/2021-4-13-10-41-51.mp4'# 将视频转成图片序列后的分辨率new_width = 224new_height = 224import mmcvs = time.time()# 读取视频video = mmcv.VideoReader(source)if video is None : print('Warning: unable to open video source: ', sou._mmcv和opencv

python APScheduler 执行定时任务_apscheduler 每5s执行-程序员宅基地

文章浏览阅读7.3k次,点赞4次,收藏26次。入门任务:每隔5s打印一个1from apscheduler.schedulers.background import BackgroundScheduler, BlockingSchedulerscheduler = BlockingScheduler()def func(): print(1)job = scheduler.add_job(func, trigger..._apscheduler 每5s执行

第四题:猫狗队列问题_class pet class cat extends pet-程序员宅基地

文章浏览阅读434次。题目要求:现有猫狗类如下:class Pet{ private String type; public Pet(String type){ this.type = type; } public String getType() { return type; }}class Dog extends Pet{..._class pet class cat extends pet

Android.graphics.Camera-程序员宅基地

文章浏览阅读2.3k次。概要:Camera(相机),但是这里的android.graphics.Camera不同于hardware.Camera。它主要用于2d图像实现3d效果。Camera的一系列,旋转,平移方法。实质上改变的是内部的Matrix变量。最后我们可以通过camera.getMatrix(matrix)方法。获取Matrix的值。之后就可以通过Matrix来改变图像了。分析:_android.graphics.camera

随便推点

MDK编译出现的问题。_adc1_2_irqn = 18, /*!< adc1 and adc2 global interr-程序员宅基地

文章浏览阅读2.6k次,点赞5次,收藏17次。1、出现 ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */编译错误问题。解决方法如下:打开“魔法棒”,选中C/C++选项,然后把define中的“STM32F10X_HD,USE_STDPERIPH_DRIVER”改为“STM32F10X_ MD,USE_STDPERIPH_DRIVER”。我的工程由于移植到新的开发板并且芯片的确不是属..._adc1_2_irqn = 18, /*!< adc1 and adc2 global interrupt */

python rsa加密长度_python3 rsa加密-程序员宅基地

文章浏览阅读150次。遇到了跟你一样的问题。 此js封装的源码 如下。希望看到的大神解决了的话帮我一下。/*RSA, a suite of routines for performing RSA public-key computations in JavaScript.Copyright 1998-2005 David Shapiro.Dave [email protected] by Fuc..._rsa hexatrigesimaltochar

(每日一练c++)CC196 找出字符串_给定一个string数组str,其是由一个排过序的字符串数组插入了一些空字符串得到的,-程序员宅基地

文章浏览阅读115次,点赞3次,收藏3次。描述给定一个string数组str,其是由一个排过序的字符串数组插入了一些空字符串得到的,同时给定数组大小n和需要查找的stringx,请用时间复杂度在log级别的算法返回该串的位置(位置从零开始)。测试样例:["a","b","","c","","d"],6,"c"返回:3class Finder {public: int findString(vector<string> str, int n, string x) { int size ._给定一个string数组str,其是由一个排过序的字符串数组插入了一些空字符串得到的,

COM组件设计与应用(十六)---连接点(vc.net)_[default, source]-程序员宅基地

文章浏览阅读536次。COM组件设计与应用(十六) 连接点(vc.net) 作者:杨老师 下载源代码 一、前言   上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了。 二、原理 图一、连接点组件原理图。_[default, source]

python flask框架发布问答平台注册页面_使用Python的Flask框架表单插件Flask-WTF实现Web登录验证...-程序员宅基地

文章浏览阅读71次。表单是让用户与我们的网页应用程序交互的基本元素。Flask 本身并不会帮助我们处理表单,但是 Flask-WTF 扩展让我们在我们的 Flask 应用程序中使用流行的 WTForms 包。这个包使得定义表单和处理提交容易一些。Flask-WTF我们想要使用 Flask-WTF 做的第一件事情(在安装它以后,GitHub项目页:https://github.com/lepture/flask-wtf..._python flask 问卷

python类和对象的定义_Python类和对象的定义与实际应用案例分析-程序员宅基地

文章浏览阅读77次。本文实例讲述了Python类和对象的定义与实际应用。分享给大家供大家参考,具体如下:1.DVD管理系统# -*- coding:utf-8 -*-#! python3class dvd:def __init__(self,name,price,state):self.name=name;self.price=priceself.state=statedef __str__(self):stat='..._if self.state in self.operations