zoukankan      html  css  js  c++  java
  • windows 配置 Scheme + Emacs 编程环境

    软件下载列表:

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

    配置

    安装好 Emacs 后,在 C:Users用户名AppDataRoaming.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)
      
  • 相关阅读:
    Openjudge-NOI题库-简单算术表达式求值
    洛谷-求同构数的个数-NOIP2013提高组复赛
    洛谷-拼数-NOIP1998提高组复赛
    洛谷-统计数字-NOIP2007提高组复赛
    洛谷-谁拿了最多奖学金-NOIP2005提高组复赛
    Openjudge-NOI题库-字符串移位包含问题
    洛谷-乘积最大-NOIP2000提高组复赛
    NOIP2015-普及组复赛-第一题-金币
    Tyvj-超级书架
    Openjudge-NOI题库-出书最多
  • 原文地址:https://www.cnblogs.com/ftae/p/6803620.html
Copyright © 2011-2022 走看看