Emacs下scheme编程环境的设置
Scheme编程环境搭建
1.1 安装Chez Scheme
git clone https://github.com/cisco/ChezScheme.git
cd ChezScheme
./configure
make
sudo make install
1.2 使用Emacs geiser
Plugin: geiser
(setq geiser-active-implementations '(chez)) ;;; Otherwise, use C+c C+s to select
M+x run-geiser
Use C+x C+e to exec codes.
链接:https://gitlab.com/jaor/geiser
1.2.1 效果

1.3 使用Emacs paredit+cmuscheme
参考王垠的配置:
(autoload 'paredit-mode "paredit"
"Minor mode for pseudo-structurally editing Lisp code."
t) (require 'cmuscheme)
(setq scheme-program-name "scheme") (defun scheme-proc ()
"Return the current Scheme process, starting one if necessary."
(unless (and scheme-buffer
(get-buffer scheme-buffer)
(comint-check-proc scheme-buffer))
(save-window-excursion
(run-scheme scheme-program-name)))
(or (scheme-get-process)
(error "No current process. See variable `scheme-buffer'"))) (defun scheme-split-window ()
(cond
((= 1 (count-windows))
(delete-other-windows)
(split-window-vertically (floor (* 0.68 (window-height))))
(other-window 1)
(switch-to-buffer "*scheme*")
(other-window 1))
((not (find "*scheme*"
(mapcar (lambda (w) (buffer-name (window-buffer w)))
(window-list))
:test 'equal))
(other-window 1)
(switch-to-buffer "*scheme*")
(other-window -1)))) (defun scheme-send-last-sexp-split-window ()
(interactive)
(scheme-split-window)
(scheme-send-last-sexp)) (defun scheme-send-definition-split-window ()
(interactive)
(scheme-split-window)
(scheme-send-definition)) (add-hook 'scheme-mode-hook
(lambda ()
(paredit-mode 1)
(define-key scheme-mode-map (kbd "<f5>") 'scheme-send-last-sexp-split-window)
(define-key scheme-mode-map (kbd "<f6>") 'scheme-send-definition-split-window)))
具体paredit的快捷键通过which-key去查就好:
M+x which-key-show-keymap RET paredit-mode-map RET
1.3.1 效果

个人更倾向于1.3的做法,HAHAHA......
Emacs下scheme编程环境的设置的更多相关文章
- 【转】Scheme 编程环境的设置
Scheme 编程环境的设置 介绍了这么久的 Scheme,却没有讲过如何配置一个高效的 Scheme 的编程环境.有些人开始学习 Scheme 的时候感觉无从下手,所以今天讲一下它的配置. Sche ...
- Scheme 编程环境的设置(racket/petite)-王垠
Scheme 编程环境的设置 http://www.yinwang.org/blog-cn/2013/04/11/scheme-setup/ sudo apt-get insatll racket ; ...
- Emacs 配置 Python 编程环境
python编程环境设置涉及到:自动完成.语法检查.虚拟环境. 为了不把系统搞乱,在python的虚拟环境中安装相关的插件. 一.安装python虚拟环境 virtualenvwrapper sudo ...
- Qt在Mac OS X下的编程环境搭建
尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要 ...
- Windows下Hadoop编程环境配置指南
刘勇 Email: lyssym@sina.com 本博客记录作者在工作与研究中所经历的点滴,一方面给自己的工作与生活留下印记,另一方面若是能对大家有所帮助,则幸甚至哉矣! 简介 鉴于最近在研究 ...
- Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)
尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要 ...
- Ubuntu 下开发 Android 环境变量设置
-----------------------------------------------------ANDROID_SDK_HOME:/home/cmm/avds PATH:/home/cmm/ ...
- debian下QT4编程环境的建立
转:http://moosewoler.blog.163.com/blog/static/6986605200801013442336/ QT是一款跨平台的C++编程framework.QT的主要特性 ...
- Mac下各种编程环境的配置问题(python java)
首先,去官网下载安装包.直接运行安装.安装完成后,启动器中会多两个应用程序IDLE和Python Launcher. 如果,你习惯在IDLE,直接运行即可. 但你在Terminal中运行python3 ...
随机推荐
- scott 本月报将收录移动Web加速技术的主要进展,欢迎读者一起完善,投稿邮箱:openweb@baidu.com
_trackPageview 功能说明 用于发送某个URL的PV统计请求,适用于统计AJAX.异步加载页面,友情链接,下载链接的流量. 代码语法 _czc.push(["_trackPage ...
- 2018上C语言程序设计(高级)作业- 第4次作业成绩及总结
作业地址 https://edu.cnblogs.com/campus/hljkj/CS2017-01/homework/1842 评分准则 第4次作业各项成绩包括三项: 完成WC项目:60分:基本功 ...
- 【集合】Java集合框架
Java类库中帮助我们在程序设计中实现了传统的数据结构.本文章跳过理论部分,主要介绍如何使用标准库中的集合类. 1 将集合的接口与实现分离 Java集合类库将接口与实现分离.以队列为例: public ...
- Django_ORM相关操作
一般的操作 1.all():查询所有的结果 2.filter():包含与所有筛选条件匹配的对象 3.get():返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果对象没有或者超过一个会报错 4 ...
- jQuery之基础核心(demo)
jQuery之基础核心 作者的热门手记 jQuery之基础核心(demo) 本文主要简单的介绍下jQuery一些基础核心,大致了解jQuery使用模式.适用于有HTML.CSS.javas ...
- javascript 4.1 美术馆
1.把images文件夹放在html文件同一文件夹子目录下,可以在html中引用图片 例如<a href="images/rose.jpg" title="A re ...
- 经典问题----拓扑排序(HDU2647)
题目简介:有个工厂的老板给工人发奖金,每人基础都是888,工人们有自己的想法,如:a 工人想要比 b 工人的奖金高,老板想要使花的钱最少 那么就可以 给b 888,给a 889 ,但是如果在此基础上, ...
- Spring框架基础解析
Spring是一个轻量级的.非侵入式的容器框架:对Bean对象的生命周期进行管理. Spring框架的核心:IOC(控制反转).DI(依赖注入).AOP(面向切面编程). (1) IOC:控制反转. ...
- LeetCode - Backspace String Compare
Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...
- Salesforce Lightning Builder Flows (Salesforce Lightning 构建Flows)
本文构建Salesforce Lightning Flows 只是一个简单的实现步骤,原文地址如下: https://trailhead.salesforce.com/en/content/learn ...