软件下载列表:

  • Emacs
  • Racket (这里使用 Racket ,更加方便,便于后面配置 Emacs)

配置

安装好 Emacs 后,在 C:\Users\用户名\AppData\Roaming\.emacs.d 文件夹中添加文件 init.el .

(setenv "HOME" "E:/emacs-25.2/") ;; you can change this dir to the place you like
(load "~/.emacs.d/init.el")

用于改变 Emacs 默认的 HOME 路径,一般设置在 Emacs 的路径下。

在HOME路径(E:/emacs-25.2/)建立文件夹 .emacs.d ,建立文件 init.el

设置插件安装源,

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
(package-initialize)

Emacs 的快捷键都是绑定在 ctrl 和 alt (或称 meta )上的,例如 c-x 就是 ctrl+x,m-x 就是 alt+x 。

在 Emacs 中安装 racket-mode

M-x package-install => <Enter> => racket-mode

也可以键入命令M-x list-packages => <Enter> 后,进入到插件列表,C-s racket-mode 找到相应插件,通过鼠标点击安装。

C-s racket-mode ,搜索模式,再按一次 C-s ,寻找下一个匹配项。

一些简单的配置

;; racket-mode
(require 'racket-mode)
(setq racket-racket-program "C:/Program Files/Racket/racket.exe") ;; 你的 racket.exe 文件路径
(setq racket-raco-program "C:/Program Files/Racket/raco.exe") ;; 同理
(add-hook 'racket-mode-hook
(lambda ()
(define-key racket-mode-map (kbd "C-x C-j") 'racket-run)))
(setq tab-always-indent 'complete) ;; 使用tab自动补全

新建文件 test.rkt

#lang planet neil/sicp
(define f 123)
f

<F5> 运行;

输出 123

因为 racket 和 Scheme 语法可能有点不同,所以要声明语言,使用 SICP 中 Scheme 的语法。

当然,在学习时,racket 自带的编辑器 DrRacket 提供的交互式环境用起来也很方便。

其他

  • Evil插件

    如果没使用过 Emacs ,可能用的很不习惯,这里可以安装插件 Evil,就可以使用 vim 的快捷键了,

    在插件列表找到 evil

    安装后在配置文件中加入

    (require 'evil)
    (evil-mode t)

    OK,Emacs的不适感消失了大半。

  • 设置字体

    (set-default-font "-outline-Consolas-normal-normal-normal-mono-19-*-*-*-c-*-iso8859-1")

  • 设置 括号匹配 ,在插件列表里找到 flex-autopair,安装

    配置文件加入下述代码

    ;; autopair
    (require 'flex-autopair)
    (flex-autopair-mode 1)
  • 括号分层高亮,插件列表里找到 highlight-parentheses

    (require 'highlight-parentheses)
    (define-globalized-minor-mode global-highlight-parentheses-mode
    highlight-parentheses-mode
    (lambda ()
    (highlight-parentheses-mode t)))
    (global-highlight-parentheses-mode t)
  • 样式 主题

    先要安装 solarized-theme

    (load "~/.emacs.d/elpa/color-theme-solarized-20160626.743/color-theme-solarized.el") ;; 具体路径可能有些不同
    (load-theme 'solarized t)

windows 配置 Scheme + Emacs 编程环境的更多相关文章

  1. MinGW安装图文教程以及如何配置C语音编程环境

    MinGW安装图文教程以及如何配置C语音编程环境 转载自:http://www.jb51.net/softjc/192017.html MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序 ...

  2. Windows配置Delve的测试环境

    引言 自己最近在玩Go,在开发一些项目的时候需要调试,由于之前都是在GoLand上写的,但是这个IDE启动太慢并且不轻便.并且自己之前很多项目都是在Vscode中编写的,所以特意想在Vscode中配置 ...

  3. 记录一次配置unix网络编程环境的过程和遇到的问题

    记录一次搭建unix网络编程环境过程中遇到的问题和总结 计算机环境虚拟机 linuxmint-18-xfce-64bit 1.打开unix网络编程.iso 把目录下的文件复制到某一目录,修改权限,可命 ...

  4. Windows配置本地Hadoop运行环境

    很多人喜欢用Windows本地开发Hadoop程序,这里是一个在Windows下配置Hadoop的教程. 首先去官网下载hadoop,这里需要下载一个工具winutils,这个工具是编译hadoop用 ...

  5. 在windows下搭建汇编编程环境

    汇编语言程序搭建masm+debug 下载链接 dosbox:链接:https://pan.baidu.com/s/1TgkfU-d5w6Nz9TOYro1pYw 密码:mp83 masm:链接:ht ...

  6. Linux下新手怎样将VIM配置成C++编程环境(能够STL自己主动补全)

    ~ 弄拉老半天,最终弄的几乎相同啦,果然程序猿还是须要有点折腾精神啊. 首先你要安装vim,命令:sudo apt-get install vim vim它仅仅是一个编辑器,它不是IDE(比方code ...

  7. 【转】Scheme 编程环境的设置

    Scheme 编程环境的设置 介绍了这么久的 Scheme,却没有讲过如何配置一个高效的 Scheme 的编程环境.有些人开始学习 Scheme 的时候感觉无从下手,所以今天讲一下它的配置. Sche ...

  8. VMWARE + CENTOS在windows下配置cocos2d-x android开发环境

    VMWARE + CENTOS在windows配置cocos2d-x android开发环境 之前使用cygwin在windows开发android,后来使用了c++11特性,在cygwin中更新工具 ...

  9. MapReduce编程(一) Intellij Idea配置MapReduce编程环境

    介绍怎样在Intellij Idea中通过创建mavenproject配置MapReduce的编程环境. 一.软件环境 我使用的软件版本号例如以下: Intellij Idea 2017.1 Mave ...

随机推荐

  1. 初次接触 Android Studio FAQ

    1. 2. 3. 4. 6. 7. Tools -> Adnroid -> enable ADB integration   8.官方模拟器太慢,还是自己下个第三方模拟器吧. http:/ ...

  2. 详解Executor框架

    在Java中,使用线程来异步执行任务.Java线程的创建与销毁需要一定的开销,如果我们为每一个任务创建一个新线程来执行,这些线程的创建与销毁将消耗大量的计算资源.同时,为每一个任务创建一个新线程来执行 ...

  3. CSAcademy Beta Round #5 Long Journey

    题目链接:https://csacademy.com/contest/arhiva/#task/long_journey/ 大意是有一张无向不带权的图,两个人同时从s点出发,分别前往a点和b点,且每个 ...

  4. com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method findUserByUserNo in the service wusc.edu.facade.user.service.PmsUserFacade.

    017-04-25 10:55:30,505 INFO [AbstractRegistry.java:302] : [DUBBO] Register: consumer://192.168.1.101 ...

  5. Vue 自定义图片懒加载指令v-lazyload

    Vue是可以自定义指令的,最近学习过程中遇见了一个需要图片懒加载的功能,最后参考了别人的代码和思路自己重新写了一遍.以下将详细介绍如何实现自定义指令v-lazyload. 先看如何使用这个指令: &l ...

  6. 关于特殊文件权限:suid、sgid和sticky-bit

    用 ls –l 命令时,能看到三个八进制数字,表示文件的权限.其实文件的权限应该用4个八进制文件来表示,没有显示的那个是第一位,用来设定一些特殊的权限,这个八进制数字的三个位是:SUID.SGID.s ...

  7. [内存管理]管理图解v0.1 v0.2 v0.3

    内存管理图解v0.1 内存管理图解v0.2 内存管理图解v0.3 

  8. PHP获取Post的原始数据方法小结(POST无变量名)

    From : http://blog.csdn.net/hotdigger/article/details/6456240   一般我们都用$_POST或$_REQUEST两个预定义变量来接收POST ...

  9. 实现图片的循环滚动——JS的简单应用

    首先默认都了解JS的循环分支运算符等基本语法 用CSS实现简单的布局也是会的. 然后我们就可以来了解一下 [DOM 树节点] 它分为三大类:元素节点.文本节点.属性节点 文本节点跟属性节点为元素节点的 ...

  10. 04(2) 基于上下文相关的GMM-HMM声学模型2之参数共享

    1.三音素建模存在的问题 问题一:很多三音素在训练数据中没有出现(尤其跨词三音素) 问题二:在训练数据中出现过的三音素有相当一部分出现的频次较少 因此,三音素模型训练时存在较严重的数据不足问题 2.参 ...